1: 2018-05-25 (金) 23:36:29 njf[6] [7] [8] | 2: 2018-05-26 (土) 00:23:31 njf[6] [9] [10] | ||
---|---|---|---|
Line 8: | Line 8: | ||
[[http://tools.android.com/tech-docs/new-build-system/gradle-experimental]] | [[http://tools.android.com/tech-docs/new-build-system/gradle-experimental]] | ||
- | 実験的な物は実験的なままで、終わったようで、このプラグインは2017年10月でサポートが切れました。 | + | 実験的な物は実験的なままで終わったようで、このプラグインは2017年10月でサポートが切れました。 |
代わりに外部の開発ツールとして、CMakeやndk-buildなどを使うように以下のページで推薦されています。 | 代わりに外部の開発ツールとして、CMakeやndk-buildなどを使うように以下のページで推薦されています。 | ||
Line 16: | Line 16: | ||
ざっと見た感じでは、CMakeでcocos2d-xの作成したsoファイルをリンクするだけなら、簡単そうだったので、その方法でさらに以降を行いました。 | ざっと見た感じでは、CMakeでcocos2d-xの作成したsoファイルをリンクするだけなら、簡単そうだったので、その方法でさらに以降を行いました。 | ||
- | 2018年5月にその作業を行ったので、その手順などをまとめています。 | + | 2018年5月にその作業を行ったので、その手順をここでまとめています。 |
- | &font(Red){作業中}; | + | もし「Experimental Plugin」を使って移行している場合は、ここの手順でさらに移行が可能です。 |
+ | |||
+ | そうでない場合は[[cocos2d-x ver2系のプロジェクトをAndroid Studioに移行する]]の「gradle関連の修正」の章を以下の記述を参考に差し替えるとAndroid Studioへの移行が可能でしょう。 | ||
+ | |||
+ | *Experimental Pluginの記述を取り除く [#t9d6be21] | ||
+ | |||
+ | もしすでに「Experimental Plugin」を使っている場合はその記述を取り除きます。 | ||
+ | もしそうでないなら、この章は飛ばしてください。 | ||
+ | |||
+ | 「Experimental Plugin」で付け加えたのは、「model」「apiLevel」「ndk」などで、以下のページを参考に、赤い部分を取り除けば良いでしょう。 | ||
+ | |||
+ | [[http://tools.android.com/tech-docs/new-build-system/gradle-experimental]] | ||
+ | |||
+ | また、もし | ||
+ | android.useDeprecatedNdk = true | ||
+ | という行があるなら、それは取り除きます。 | ||
+ | |||
+ | *CMakeLists.txtファイルを追加する [#o112da14] | ||
+ | |||
+ | プロジェクトのルートにCMakeLists.txtというファイルを作成します。 | ||
+ | プロジェクトのルートはAndroid Studioの左側のタブ「Project File」を選んだときに、「アプリ名/アプリ名」となっているディレクトリです。 | ||
+ | 場所を間違えても、後に出てくるexternalNativeBuildの設定をgradleに書いてビルドすると、「そこにはそのファイルが無いよ」といったメッセージが出るので、何度か試せばすぐに正しい場所が分かるでしょう。 | ||
+ | |||
+ | その中にライブラリをリンクする記述を加えます。 | ||
+ | 例えばcocos2d-xが作成するsoファイルのデフォルト名である「libgame.so」をリンクするなら、以下のようにします。 | ||
+ | |||
+ | add_library( game | ||
+ | STATIC | ||
+ | IMPORTED ) | ||
+ | |||
+ | add_libraryはライブラリの追加を表します。 | ||
+ | 一行目はライブラリ名です。 | ||
+ | 先頭の「lib」と拡張子の「.so」は省くという命名ルールがあるので、「libgame.so」なら上記のように「game」だけとなります。 | ||
+ | |||
+ | 二行目は共有ライブラリ(SHARED)か静的ライブラリ(STATIC)かを指定します。 | ||
+ | 両方試してみましたが、どちらでも動きます。 | ||
+ | 別に共有する必要は無いのでSTATICで良いでしょう。 | ||
+ | add_libraryには本来はソースファイルを書きますが、今回はコンパイル済みのライブラリなので、「IMPORTED」と指定します。 | ||
+ | |||
+ | 最後に、プロジェクトに付随するgradle(「Module:アプリ名」と横に書いてあるgradleファイル)のAndroidセクションに以下のようにして、追加したCMakeLists.txtを指定します。 | ||
+ | |||
+ | externalNativeBuild { | ||
+ | cmake { | ||
+ | path "CMakeLists.txt" | ||
+ | } | ||
+ | } | ||
+ | |||
+ | 以上でライブラリの取り込みが行われるはずです。 | ||
+ | gradleファイルをあまり変更しないので、「Experimental Plugin」を使うより簡単になっています。 |
(This host) = https://njf.jp