Ad

始めに anchor.png Edit

2016年頃にcocos2d-x ver2系のEclipseのプロジェクトを全てAndroid Studioに移行しました。

cocos2d-x ver2系のプロジェクトをAndroid Studioに移行する

そこで「Experimental Plugin」(実験的なプラグイン)使っていました。

http://tools.android.com/tech-docs/new-build-system/gradle-experimental

実験的な物は実験的なままで終わったようで、このプラグインは2017年10月でサポートが切れました。

代わりに外部の開発ツールとして、CMakeやndk-buildなどを使うように以下のページで推薦されています。

https://developer.android.com/studio/projects/add-native-code

ざっと見た感じでは、CMakeでcocos2d-xの作成したsoファイルをリンクするだけなら、簡単そうだったので、その方法でさらに以降を行いました。

2018年5月にその作業を行ったので、その手順をここでまとめています。

もし「Experimental Plugin」を使って移行している場合は、ここの手順でさらに移行が可能です。

そうでない場合はcocos2d-x ver2系のプロジェクトをAndroid Studioに移行するの「gradle関連の修正」の章を以下の記述を参考に差し替えるとAndroid Studioへの移行が可能でしょう。

Page Top

Experimental Pluginの記述を取り除く anchor.png Edit

もしすでに「Experimental Plugin」を使っている場合はその記述を取り除きます。 もしそうでないなら、この章は飛ばしてください。

「Experimental Plugin」で付け加えたのは、「model」「apiLevel」「ndk」などで、以下のページを参考に、赤い部分を取り除けば良いでしょう。

http://tools.android.com/tech-docs/new-build-system/gradle-experimental

また、もし

android.useDeprecatedNdk = true

という行があるなら、それは取り除きます。

Page Top

CMakeLists編集.txtファイルを追加する anchor.png Edit

プロジェクトのルートにCMakeLists編集.txtというファイルを作成します。 プロジェクトのルートはAndroid Studioの左側のタブ「Project File」を選んだときに、「アプリ名/アプリ名」とか「proj.android/アプリ名」とかになっているディレクトリです。 場所を間違えても、後に出てくる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」を使うより簡単になっています。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 212, today: 1, yesterday: 2
初版日時: 2018-05-25 (金) 23:36:29
最終更新: 2018-10-06 (土) 00:01:19 (JST) (13d) by njf
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失


NJF