1: 2018-05-25 (金) 23:36:29 njf |
2: 2018-05-26 (土) 00:23:31 njf |
| [[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などを使うように以下のページで推薦されています。 |
| ざっと見た感じでは、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」を使うより簡単になっています。 |