Android APKの準備 その1
Android用のパッケージであるAPKパッケージは手動で細かく作業して作成することも可能らしいのですが、QtCreator の機能を使って作るのがオススメだよとドキュメントに書かれていましたのでQtCreatorで作業することにします。
QtCreator で「リリース」用にビルドを行うとqtbrynhildr.proのあるディレクトリと同じレベルに
build-qtbrynhildr-armeabi_v7a_Android_GCC_4_9_Qt_5_8_0-Release
というかんじの長い名前のディレクトリが標準では作成されます。この下の android-build というディレクトリの下にAPKパッケージ作成に必要なファイル群が配置されます。
様々な設定を指示するためのXMLファイルやJavaとC++を橋渡しするためのjavaソースファイルのテンプレートなどなどです。これらのファイルはQtCreator がサンプル的に用意してくれるものなので、配布するようなものを作ろうとすると独自の変更が必要になります。
まずはAndroidアプリケーションの重要な設定を記述するAndroidManifest.xml を書き換えたいと思いました。
上記の長ったらしい名前のディレクトリ以下を探すと2箇所にAndroidManifest.xml が存在することが分かりました。これらのどれかを書き換えればO.K.なのでしょうか…
とりあえず、試しに2つとも少しだけ修正してみました。もしかしたら、どちらかのファイルが今後そのまま使われるのかもしれないと思いまして。
QtCreator で再びビルドしてみます。その後上記の2つのファイルを確認してみると、どちらのファイルも、加えた修正がすっかり消えていました。
ということは、これらのファイルは毎回上書きされるので独自の変更を加えてもその修正は結局残らないということなんですね。
では、このファイルはどこで作成されるものなのでしょうか? どこからかコピーされている?
調べてみると QtCreator 自体にいろいろなテンプレート・ファイルを作成してくれる機能がありました。
この機能を使ってAPKパッケージを作る際に使うファイルの準備をすれば良さそうです。
こんな手順で作成しました。
1,QtCreator を起動して、プロジェクトを読み込みます。
2,「プロジェクト」の Build (ビルド設定)を選択します。
3,「Android APK のビルド」-> 「詳細」 を表示させ -> 「Android - テンプレートの作成」を押下します。
4, qtbrynhildr\dist\android を作成場所に指定してテンプレートファイルを作成します。
qtbrynhildr\dist\android 下に
AndroidManifest.xml
build.gradle
res\values\libs.xml
が追加され、同時に qtbrynhildr.pro に以下が追加されました。
---- ここから ----
DISTFILES += \
$$PWD/../dist/android/AndroidManifest.xml \
$$PWD/../dist/android/res/values/libs.xml \
$$PWD/../dist/android/build.gradle
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/../dist/android
---- ここまで ----
これにより、このテンプレートがコピーされてAPK作成時に利用されるようになりました。
よって今後必要な修正はこれらのファイルに対して行えばいいので、これらのファイルを登録してファイル管理すれば良さそうですね。
ただ、上記で用意された AndroidManifest.xml はもっとも基本的なテンプレート・ファイルなのでこれを使って0から書くのも大変そうなので、一度リリースビルドした時にQtCreatorが作ってくれた AndroidManifest.xml をテンプレートとして使ったほうが良さそうです。
他にも独自修正が必要なファイルがあったら、またそこで対応を調べるとして、まずはAndroidManifest.xml を修正していこうと思います。
« Windows 64ビット版 Qt Brynhildr パッケージ作成してみる | トップページ | Ver.1.6.4 リリース »
« Windows 64ビット版 Qt Brynhildr パッケージ作成してみる | トップページ | Ver.1.6.4 リリース »
コメント