Cocos2dx/プロジェクト実行android
提供: 初心者エンジニアの簡易メモ
目次
androidのプロジェクト実行
androidの場合sdkのversionをあわせる
$ vi proj.android-studio/app/project.properties $ vi cocos2d/cocos/platform/android/java/project.properties $ vi proj.android/project.properties target=android-25
以下のsdkのversionと合わせる
$ ls /Users/test1/Library/Android/sdk/platforms/*
プロジェクト実行
$ cocos run -p android -m debug -j 2
"問題が発生したため、[project]を終了します"のコンパイラエラー
Android NDK: WARNING: APP_PLATFORM android-24 is larger than android:minSdkVersion 9 in ./AndroidManifest.xml
Application.mkに以下追加
APP_PLATFORM := android-9
$ locate Application.mk cocos2d/plugin/protocols/proj.android/jni/Application.mk cocos2d/tools/simulator/frameworks/runtime-src/proj.android/jni/Application.mk proj.android/jni/Application.mk proj.android-studio/app/jni/Application.mk
androidプロジェクトを開いてのビルド
直接androidプロジェクトを開いてビルドしても以下エラーとなり実行できない java.lang.UnsatisfiedLinkError: Couldn't load MyGame from loader dalvik.system.PathClassLoader
↓コマンドで一度compileするとできた。
android-studioのprojだけをcompileする方法
$ cocos compile -p android --android-studio
以下エラーが出た場合
Android SDK toolsの25.3.0でbugがあるのでそれ以下をDLする。
************************************************************************* The "android" command is deprecated. For manual SDK, AVD, and project management, please use Android Studio. For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager ************************************************************************* Invalid or unsupported command "update project -t android-25" 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
apkインストール
端末確認
adb devices
apkインストール
adb install -r bin/debug/android/Helloworld-debug.apk
Successと出たら成功
apk起動
adb shell am start -n com.example.helloworld/org.cocos2dx.cpp.AppActivity
ビルドからapk起動まで一括で
cocos compile -p android --android-studio && adb install -r bin/debug/android/Helloworld-debug.apk && adb shell am start -n com.example.helloworld/org.cocos2dx.cpp.AppActivity
AndroidManifestに権限追加
proj.android-studio/app/AndroidManifest.xml
以下などをmanifestタグ内に追加する
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Activityをカスタマイズしたい場合
proj.android-studio/app/src/org/cocos2dx/cpp/AppActivity.java
public class AppActivity extends Cocos2dxActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ココらへんに差し込む } @Override protected void onStart() { super.onStart(); // ココらへんに差し込む } @Override protected void onResume() { super.onResume(); // ココらへんに差し込む } @Override protected void onPause() { super.onPause(); // ココらへんに差し込む } @Override protected void onStop() { super.onStop(); // ココらへんに差し込む } @Override protected void onDestroy() { super.onDestroy(); // ココらへんに差し込む } }
参考
Cocos2d-x 導入編-Mac開発環境構築について http://qiita.com/kazuhiro1128/items/73c39bfc450e7d0883af