こんにちは
夏から秋に切り替わる季節は憂鬱になりますね(自分だけ?).
Androidアプリの開発環境をAndroid StudioとC++で整備したときの備忘録です.
事の始まり
「C++でAndroidアプリのゲーム開発をしたいな」
↓
「DxlibがAndroid対応じゃん!!」
↓
「Visual Studioでaab出力の仕方がわからないから,リリース出来なかった...」
↓
「純正開発環境使うか~」←ココ
参考文献
今回は感でやったのでありません.
開発環境
Android Studio Arctic Fox | 2020.3.1 Patch 2 Build #AI-203.7717.56.2031.7678000, built on August 27, 2021 Runtime version: 11.0.10+0-b96-7249189 amd64 VM: OpenJDK 64-Bit Server VM by Oracle Corporation Windows 10 10.0 GC: G1 Young Generation, G1 Old Generation Memory: 1280M Cores: 4 Registry: external.system.auto.import.disabled=true
環境整備
- Android Studioをインストール
必要に応じて,Javaやその他いろいろをインストール(丸投げ). - Android Studioでプロジェクトを作成
1. New Project
2. Template: Native C++
3. Language: Java
プロジェクト名やAndroidバージョンはお好きに.
4. 新規プロジェクト作成時の自動ビルド待ち.
この時に足りないものをインストールしてねと言われる.
とりあえず全部インストールするのがオススメ.
5. Androidエミュレータを作成
AVD Managerからお好きに作成.
APIレベルは高ければいいと思います(適当).
6. エミュで実行.
とりあえず動作確認してみる.
7. ソースコード確認
後述.
動作確認
実行結果
ソースコード
C++でライブラリを作成して,Javaで呼んでいるみたいだね.
ここで少し改良を加えてみる.
OpenGLESのAPI呼び出しを試してみた.
ソースコードは感で書いてインテリセンスに任せたモノを使用しました.
当然,シェーダはnullptrなので動作しません.
CMakeList.txtの修正も必要っぽいです.
おそらく新規ファイルなどもここに追加かな?
target_link_libraries( # Specifies the target library. myapplication GLESv3 // これを追加 # Links the target library to the log library # included in the NDK. ${log-lib})
コンパイル通って実行できたのでヨシッ!!!
考察
C++とOpenGLESでAndroidアプリ開発したかったけど,これならJavaでやった方が早そう.
それか,Visual StudioのNative C++でaab出力の方法を探した方が良さそう.
まとめ
公式推奨の方法が色々な意味で一番だと思いました.
それ以外は修羅の道を歩む覚悟が必要なので,面倒くさがりはやめた方が良いと感じます.