PG日誌

受託系 PG が C# の事を書いています

Windows上にCocos2d-x 3.16 Android開発環境を作成する

Cocos2d-x 3.16 が2017年10月11日(水)にリリースされました。今までAndroid開発環境作るのが死ぬほどめんどくさかったのですが、少し改善されたらしいので導入手順をまとめてみました。

環境

構築する環境と、最終目的は以下の通りです。

  • Windows10
  • Cocos2d-x 3.16(C++使用)
  • AndroidStudio 3.0上からNDKネイティブビルド & 実行
  • 実行環境はGenyMotion

作業内容

Cocos2d-xでC++開発環境を作成する場合、CocosCreatorなどのソフトは使用せずに以下手順で環境作成することになります。ゼロベースから環境作ると結構大変です。また途中で記事が不正確だったりバージョンが違ったりでエラーが出た場合、理由を自力で調べる事になるのでご了承ください。

  • Java8のインストール
  • AndroidStudioのインストール (+日本語化)
  • Cocos2d-x 3.16をダウンロード
  • Apatch Antの導入
  • Python実行環境の導入
  • GenyMotionのインストール
  • プロジェクトの作成 + 実行

Java8のインストール

特に、説明することはないので適当に、、、

Javaの公式サイトからJavaをダウンロードするか、自分でJDKを好きな場所へ配置し、環境変数で、JAVA_HOMEにパスが通っているのを確認します。

以下の画像の順序で確認できます。

f:id:Takachan:20171029152833p:plain

f:id:Takachan:20171029152841p:plain

f:id:Takachan:20171029152846p:plain

自環境ではユーザー環境変数にEclipse Pleiades版に同梱のランタイムの位置を指定しています。

f:id:Takachan:20171029152852p:plain

AndroidStudio 3.0のインストール

AndroidStudio は、Java8への対応が長らくの間大変に微妙で、同じJVM互換のKotlin対応へ軸足を移したみたいです。3.0が2017年10月25日(水)に来たので、これをインストールします。

まず、AndroidStudioのページへアクセスします。

最近、日本語の表示もされるようになって、トップページにド直球ストレートでダウンロードリンクがあるのでそれをクリックします。

f:id:Takachan:20171029151756p:plain

いつもの同意するかどうかが出るのでそのまま同意するをクリック。

f:id:Takachan:20171029151932p:plain

インストーラーのダウンロードが開始されるので完了後、インストーラを実行します。

インストーラが起動したら、任意のパスへAndroidStudioをインストールします。

f:id:Takachan:20171029153555p:plain

かなり時間がかかりますが、完了する前待ちます。

f:id:Takachan:20171029153744p:plain

完了後、AndroidStudioが起動したら完了です。

AndroidStudioの日本語化

こちらのページに記事に新しい日本語化の手順が書いてあるので、内容に従いを日本語化します。

まず、PreiadesのぺージからWindows版のプラグインをダウンロードします。

f:id:Takachan:20171029154816p:plain

ダウンロードした"pleiades-win.zip"を解凍して、中身の"plugins"以下の"jp.sourceforge.mergedoc.pleiades"を以下のようなるよう配置します。

// 標準では以下のパスになります。
C:\Users\[PC名]\.AndroidStudio3.0\jp.sourceforge.mergedoc.pleiades

次にVMオプションを設定します。

なんでもよいのでAndroidStudioを起動して適当なプロジェクトを作成し、IDEの画面を表示します。

底から Help > Edit Custom VM Options... を選択します。

f:id:Takachan:20171029160431p:plain

そうすると以下にオプションファイルが作成されます。

// 標準では以下のパスになります。
C:\Users\[PC名]\.AndroidStudio3.0\studio64.exe.vmoptions

作成するとIDE上にファイル編集画面が表示されるので以下内容を記述します。

# custom Android Studio VM options, see https://developer.android.com/studio/intro/studio-config.html

-Xms512m
-Xmx1280m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djna.nosys=true
-Djna.boot.library.path=

-da

-Xverify:none
-javaagent:C:/\Users/[PC名]/.AndroidStudio3.0/jp.sourceforge.mergedoc.pleiades//pleiades.jar

最後の行は自分の環境の古パスを書き込んでください。書き込んだら保存してAndroidStudioを終了します。(間違えると起動しなくなるのでご注意を…)

次にIDEを開いたときは、以下のように全てが日本語化されます。

f:id:Takachan:20171029161511p:plain

Cocos2d-x 3.16をダウンロード

Cocos2d-x 3.16を導入します。まずは、公式サイトのダウンロードページ)から3.16をダウンロードしてきます。

f:id:Takachan:20171029162029p:plain

ダウンロードした、"cocos2d-x-3.16.zip"を解凍して任意のパスへ配置します。今回は以下フォルダへ配置します。

D:\ProgramFiles\Cocos\cocos2d-x-3.16

Apatch Antの導入

Apaych Antの公式ページからAntをダウンロードします。

ページ内の Download > Binary Distributions のリンクを選択して

f:id:Takachan:20171029162846p:plain

f:id:Takachan:20171029163037p:plain

"1.10.1 .zip archive"を取得して、解凍し中身を任意の位置へ保存します。

D:\ProgramFiles\ApacheAnt\apache-ant-1.10.1

Python実行環境の導入

公式サイトから、Python2.7.14を取得しインストールします。

f:id:Takachan:20171029163649p:plain

こちらは、インストーラをたたくだけですが、インストールオプションを以下の通り指定してインストールします。

Add python.exe tp Path > Will be install on local hard drive

f:id:Takachan:20171029164110p:plain

NDKのインストール

AndroidStudioの設定画面からNDKを導入します。AndroidStudioの設定画面からNDKをインストールします。(AndroidSDKの位置を、D:\ProgramFiles\AndroidSDK へ変更しています)3.16から(?)最新版のNDKで問題ないみたいです。

f:id:Takachan:20171029164841p:plain

確認画面で受諾を押して次へを選択します。

f:id:Takachan:20171029165004p:plain

かなり時間がかかるので終了するまで待ちます。

f:id:Takachan:20171029165141p:plain

インストール先はこの場合、D:\ProgramFiles\AndroidSDK\ndk-bundle になります。

Cocos2d-xのセットアップ

コマンドプロンプトより以下のスクリプトを実行します。

D:\ProgramFiles\Cocos\cocos2d-x-3.16\setup.p

それぞれ入力項目に以下の通り入力します。

->Please enter the path of NDK_ROOT (or press Enter to skip):D:\ProgramFiles\AndroidSDK\ndk-bundle

->Please enter the path of ANDROID_SDK_ROOT (or press Enter to skip):D:\ProgramFiles\AndroidSDK

->Please enter the path of ANT_ROOT (or press Enter to skip):D:\ProgramFiles\ApacheAnt\apache-ant-1.10.1\bin

Geny Motionのインストール

普通にインストールするだけなので割愛。

AndroidStudioにGenyMotionのPlugin入れる事。

プロジェクトの作成 + 実行

Cocos new コマンドで空のプロジェクトを作成します。D:\Developmentを作業フォルダへ設定して

コマンドラインより以下コマンドを入力します。

cocos new Sample -d D:\Development -p com.taka.sample -l cpp 

次にAndroidStudioからプロジェクトを開きます。

f:id:Takachan:20171029173145p:plain

プロジェクトを開くと、SDKが無いのでエラーが発生するので、gradle.propertiesを編集ししてSDKがあるバージョンに変更します。

PROP_COMPILE_SDK_VERSION=25
...
PROP_APP_ABI=armeabi:x86

変更したら、Gradleを再同期します。しばらくすると処理が進んでまた失敗するので、以下リンクをクリックして再度実行します。

f:id:Takachan:20171029173955p:plain

問題を自動で解決してくれるのでしばらく待ちます。

f:id:Takachan:20171029174051p:plain

AndroidStudioの更新がいろいろある場合ついでに更新します。

f:id:Takachan:20171029174158p:plainf:id:Takachan:20171029174729p:plain

エミューレーターを起動して、

f:id:Takachan:20171029183941p:plain

開始の三角形のボタンを押します。そうするとコンパイルが始まってめちゃくちゃかかるのでしばらく待ちます。

f:id:Takachan:20171029184041p:plain

しばらく待つとシミュレータに初期表示が以下の通り表示されます。

f:id:Takachan:20171029184425p:plain

AndroidStuido上でブレークポイントを張る

普通にAndroidStudio上でC++のコードが閲覧・編集できるようになっているので以下のようにブレークポイントを設定するとブレークすることができます。エディタ上でブレークポインを設定します。

f:id:Takachan:20171103141515p:plain

次に、メニューからデバッグを選択します。

f:id:Takachan:20171103141657p:plain

GenyMotionにアタッチ待ちの表示がされるので少し待ちます。

f:id:Takachan:20171103141726p:plain

ブレークポイントで停止して、赤い丸にチェックが入りその時の状態が確認できるようになります。

f:id:Takachan:20171103141808p:plain

最後に

最新版は少し手間が軽減されていますが、めんどくさすぎて途中で投げそうになりました…

  • 良い点
    • AndroidStudioからネイティブぢビルドできるようになってCocos runコマンドしなくてよくなった。
    • NDKやSDKがAndroid付属のもので動作するので特定のバージョンへ変更する手間がなくなってる
    • コンパイル速度が少し早くなった
  • 悪い点
    • 環境構築めんどくさすぎ
    • 結局AndroidStudioで開発しない → VisualStudioで開発したほうがIDEがイイ感じ
      • Win32 + VSで開発して最後にAndroidStudioでエミュレータ起動 + 実行ボタン押すだけになりそう
      • ブレークできるけど動作が遅い・・・
    • Android関係の設定からくるエラーに悩まされる
      • 結局ノン・プログラマーはどこかでエラーが出たら即詰むレベルの謎エラーが結構出る
      • Gradleの仕様とか覚えたくない、さっさとゲーム作らせろ

以前より格段に環境が整っていますが、初心者には相変わらず厳しいです。この手順も少し時間がたつとエラーが出まくるようになると思うのでもしエラーが出たらGoogleで調べまくることになりと思います。