シヴァのブログ

UnityやUE4や趣味とかいろいろ...

「Cocos2d-x」Windows環境でcocos2d-xを入れてAndroid端末で表示してみる

今回は、Windows環境でcocos2d-xを入れてAndroid端末で表示してみる...っていう試み。
方法というより、色々詰まったところと忘れそうなコマンドのメモ。

f:id:shivaT:20170522230141p:plain:w600

各種環境設定について

Java SE Development Kit 8u131

jre1.8.0_131
JAVA_HOME:C:\Program Files\Java\jre1.8.0_131
Path:C:\Android\Java\jdk1.8.0_131\bin

Cocos2d-x 3.13.1
Python 2.7.12

Path:C:\Python27
バージョン確認方法:python -V

Apache Ant 1.9.8

ANT_ROOT:C:\apache-ant-1.9.8\bin

Android NDK

NDK_ROOT:C:\Android\sdk\ndk-bundle

f:id:shivaT:20170522231843p:plain:w600

プロジェクト作成方法

「C:\cocos2d-x\cocos2d-x-3.13.1>cocos new AndroidGame -d C:\Android -p com.shiva.AndroidGame -l cpp」

cocos new プロジェクト名:指定したプロジェクト名の新規プロジェクトを作成

  • dオプション:プロジェクトを作成するディレクトリを指定
  • pオプション:パッケージ名を指定
  • lオプション:使用する言語を指定cpp:C++


参考サイト:
http://studio.cretia.net/blog/462
http://qiita.com/shuntaro_tamura/items/5ed0cfddc094c1d052e3

実機テストの設定

AndroidStudioの AndroidSDKマネージャー に実機のAndroidのバージョンがインストールされているかチェック。

※該当のAndroid バージョンの SDKAndroid Studio にインストールされていないと、USBを接続しても認識しないため、実機テストが行えない。

参考サイト:
https://blog.codecamp.jp/android_test

LogCatの表示方法

まず、エラーコードを表示するために、LogCatを表示する。
[View] -> [ToolWindows] -> [Android Monitor]

Android Studioでコマンドでビルドを行う

現行バージョンでは、Android Studioだけでは完結せず、ビルドはコマンドで行う必要がある。
画面下にある「Terminal」で、cocos コマンドでビルドを行う。
これにより、buildに必要なgradle関連ファイルもダウンロードされ、ビルドが進んでいく。
(2回目以降に単に実行するだけなら画面上部のRunボタン押すだけでよい)
「C:\public\AndroidGame\proj.android-studio>cocos run -p android --android-studio」

引数について

  • s : プロジェクトのベースディレクト
  • p : ビルドするプラットフォーム、ios, android, mac, web, win32, linux
  • m : ビルドするモード(デフォルトは debug)、debug, release
    • android-studio : AndroidStudioで行う


また、後々必要になる覚えておくこと。
自分で作成したファイルは、都度「Android.mk」の「LOCAL_SRC_FILES :=」に「.cpp」もしくは「.h」を追記していく必要がある。「¥」は改行の意味。
f:id:shivaT:20170516181959p:plain:w600


これ以降は別にやらなくても問題なかったような問題たち。

Application.mkを編集する

※Android4.0.3(API15)以降を対象

proj.android-studio\app\jni\Application.mkの最後に以下の一行を追記する。

APP_PLATFORM := android-15
f:id:shivaT:20170516184459p:plain:w600

settings.gradle編集する

proj.android-studio\settings.gradleの最後に以下の二行を追記する。

include ':Classes'
project(':Classes').projectDir = new File(settingsDir, '../Classes')
f:id:shivaT:20170516185033p:plain:w600

エラー

C:\Android\AndroidGame\proj.android-studio>cocos run -p android --android-studio
Building mode: debug
Using Android Studio project : C:\Android\AndroidGame\proj.android-studio
running: '"C:\Android\sdk\tools\android" update project -t android-13 -p C:\Andr

*************************************************************************

The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools\bin\sdkmanager.bat
and tools\bin\avdmanager.bat

*************************************************************************

Invalid or unsupported command "update project -t android-13 -p C:\Android\Andro

Supported commands are:
android list target
android list avd
android list device
android create avd
android move avd
android delete avd
android list sdk
android update sdk
Error running command, return code: 1.

参考サイト:
http://qiita.com/kazy/items/252bfc2d88d8899a95d5
http://qiita.com/Kuxumarin/items/a5d76d4a7895f2d875ab
http://studio.cretia.net/blog/462
http://stzx.hatenadiary.jp/entry/2016/09/04/203727
https://teratail.com/questions/68471



Error:(1, 1) A problem occurred evaluating project ':AndroidGame'.
> java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0

f:id:shivaT:20170516165659p:plain:w600

理由:
gradle が古い奴がインストールされている


解決方法:
メニューバーのFile>Project Structures...>左のバーのProject>Project SDKで1.8を選択
f:id:shivaT:20170516165628p:plain:w600

参考サイト:
http://qiita.com/shu920921/items/195ef8c5c5249ef7e258