Android:はじめてのAndroid NDK

Android NDKでの OpenGL ESアプリ製作に興味があったので環境を作ってみました。僕のこれまでのAndroid開発経験は、Javaでちょっと書いてみたことがあるぐらいでした。

最近は Visial Studio Code で何でもできるようになってるので、Android NDK開発用のプラグインがないかなーと思ったのですが、残念ながら見つからず。素直に Android Studio を使うことにします。

公式に従って Android Studio をインストール。

Android Studio のインストール
https://developer.android.com/studio/install

起動したら、Empty Activity でプロジェクト作成。NDKインストールしたいだけなので、このプロジェクトは捨てプロジェクトです。Configureはデフォルトのままで作りました。

Install NDKに従って NDK をインストール。

NDK と CMake のインストールと設定
https://developer.android.com/studio/projects/install-ndk

Tools – SDK Manager を開いて、(…と思ったらToolsになかったのでアイコンから開いた)
SDK Tools で、NDKとCMake にチェック。インストールします。


NDKインストール終わったら、あらためて、新規プロジェクトを作成。

NativeC++ プロジェクトを選びます。最初なのでいつものHelloWorld的なのを作ってみます。

Languageに Kotlin / Java が選べますね。時流に従ってKotlinのままにしときます。
(よくわからんけど)

Minimum SDKは、Android側ロジックではそんな大したことする予定ないのでデフォルトの
API16 Android 4.1のままで。SDKとしてはかなり前のものですね。

C++のバージョン選べますね。Toolchain Default のままにしました。

Finish でプロジェクト完成!


app/java/com.exsample.hellondkworld/java/MainAcrivity.kt が、Kotlin側のソース

app/java/com.exsample.hellondkworld/cpp/native-lib.cpp が、C++側のソースですね。

Kotlinソースも java の下になるのか。

C++側から表示する文字列を取得して、layout.activity_mainの sample_text 内容にセットする処理です。何もしなくても最初から Hello world 完成してた。


アプリを動作させるために、AVD Managerからエミュレータを設定します。

デフォルトで選ばれてた Pixel 2 API R を作成しました。

エミュレータ動作させるには、PCのVT-x(Virtualization Technology:仮想化支援技術) 設定が有効になっている必要があります。

「VT-x is disabled in BIOS.」のエラーが出るので、BIOS設定で有効にしましょう。僕のPCもOFFになってて、BIOS入り方がわからなくて悪戦苦闘しました…。あとは言われるがままにいろいろインストール。

エミュレータ設定したら、アプリ起動!エミュレータ起動、初回はかなり時間かかります。(僕のPCの性能がたいしたことないからというのが大きい)

起動しましたー。

layout.activity_mainで文字位置とサイズを変えてみる。日本語も普通に行けますね。