備忘録

備忘録

VisualStudioを利用してAndroidで実行可能な実行ファイルをC++で作成する方法

Ⅰ. はじめに

タイトルの通り「VisualStudioを利用してAndroidで実行可能な実行ファイルをC++で作成する方法」です。

Ⅱ. やり方

1. Visual Studio Installerを起動する
2. 「C++ によるモバイル開発」をインストールする

f:id:kagasu:20210404210310p:plain

3. 「メイクファイル プロジェクト(Android)」を選択する

f:id:kagasu:20210404210636p:plain

4. サンプルプログラムを書く

f:id:kagasu:20210412170848p:plain

$(project_root)/jni/Android.mk

# https://developer.android.com/ndk/guides/android_mk
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := helloworld
LOCAL_SRC_FILES := ../src/main.cpp
LOCAL_CFLAGS += -fPIE
LOCAL_LDFLAGS += -fPIE -pie
# LOCAL_LDLIBS := -lz
# LOCAL_CPP_FEATURES := exceptions

include $(BUILD_EXECUTABLE)

$(project_root)/jni/Application.mk

# https://developer.android.com/ndk/guides/application_mk
APP_ABI := armeabi-v7a arm64-v8a
APP_PLATFORM := android-16
APP_OPTIM := release
APP_STL := c++_static

$(project_root)/src/main.cpp

#include <iostream>

int main()
{
  std::cout << "Hello world!" << std::endl;
  return 0;
}
5. ビルドする

実行結果

$ ./helloworld 
Hello world!

FAQ

Q1. Android SDK, Android NDKディレクトリはどこで設定できますか?

A1. VisualStudioのオプションから設定可能です。
f:id:kagasu:20210404211641p:plain

Q2. VisualStudioを利用したくないです。

A2. この記事と同じディレクトリ構成のディレクトリを作成し、$(project_root)で以下コマンドを実行するとビルド出来ます。

ndk-build
Q3. ndk-buildはどこにありますか?

A3. 以下パスに存在します

$(ANDROID_SDK_ROOT)\ndk\$(ndk_version)
例. C:\Android\ndk\21.1.6352462