「Cocos2dx/プロジェクト実行android」の版間の差分
(→android-studioのprojだけをcompileする方法) |
(→設定ファイル) |
||
(同じ利用者による、間の19版が非表示) | |||
行24: | 行24: | ||
参考:http://stackoverflow.com/questions/15872254/android-ndk-warning-app-platform-android-9-is-larger-than-androidminsdkversio | 参考:http://stackoverflow.com/questions/15872254/android-ndk-warning-app-platform-android-9-is-larger-than-androidminsdkversio | ||
+ | |||
+ | ==Error running command, return code: 2.のエラー== | ||
+ | cocos2dxが3.14.1で起こったのでcocos2dxを3.17に上げたら直った。 | ||
+ | |||
+ | ==Android NDK: android-9 is unsupported. Using minimum supported version android-14.エラー== | ||
+ | 上記Application.mkのminimum supportedのandroid-9をandroid-14に変更してみる | ||
+ | |||
+ | ==Android NDK: WARNING: APP_PLATFORM android-14エラー== | ||
+ | android-14が入ってないので、AndroidのSDK_Managerからandroid-14を入れる | ||
+ | |||
+ | ==error: undefined reference toなどでカスタムクラスがロードできてない場合== | ||
+ | 以下にカスタムクラスを追加する必要がある | ||
+ | proj.android/app/jni/Android.mk | ||
==androidプロジェクトを開いてのビルド== | ==androidプロジェクトを開いてのビルド== | ||
行32: | 行45: | ||
==android-studioのprojだけをcompileする方法== | ==android-studioのprojだけをcompileする方法== | ||
+ | v.3.17 | ||
+ | $ cocos compile -p android | ||
+ | v.3.14.1 | ||
$ cocos compile -p android --android-studio | $ cocos compile -p android --android-studio | ||
+ | |||
+ | ==以下エラーが出た場合== | ||
+ | Android SDK toolsの25.3.0でbugがあるので25.3.0は避ける。 | ||
+ | ************************************************************************* | ||
+ | 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インストール== | ==apkインストール== | ||
端末確認 | 端末確認 | ||
adb devices | adb devices | ||
− | apkインストール | + | apkインストール(cocosプロジェクトの下にbinができてるので) |
adb install -r bin/debug/android/Helloworld-debug.apk | adb install -r bin/debug/android/Helloworld-debug.apk | ||
Successと出たら成功 | Successと出たら成功 | ||
+ | |||
+ | ==設定ファイル== | ||
+ | proj.android/gradle.properties | ||
+ | <pre> | ||
+ | # Android SDK version that will be used as the compile project | ||
+ | PROP_COMPILE_SDK_VERSION=27 | ||
+ | |||
+ | # Android SDK version that will be used as the earliest version of android this application can run on | ||
+ | PROP_MIN_SDK_VERSION=14 | ||
+ | |||
+ | # Android SDK version that will be used as the latest version of android this application has been tested on | ||
+ | PROP_TARGET_SDK_VERSION=27 | ||
+ | |||
+ | # Android Build Tools version that will be used as the compile project | ||
+ | PROP_BUILD_TOOLS_VERSION=27.0.1 | ||
+ | </pre> | ||
+ | |||
+ | ==gradleバージョン変更== | ||
+ | $ vi proj.android/gradle/wrapper/gradle-wrapper.properties | ||
+ | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip | ||
+ | |||
+ | ==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に権限追加== | ==AndroidManifestに権限追加== |
2018年9月27日 (木) 12:17時点における最新版
目次
- 1 androidのプロジェクト実行
- 2 "問題が発生したため、[project]を終了します"のコンパイラエラー
- 3 Error running command, return code: 2.のエラー
- 4 Android NDK: android-9 is unsupported. Using minimum supported version android-14.エラー
- 5 Android NDK: WARNING: APP_PLATFORM android-14エラー
- 6 error: undefined reference toなどでカスタムクラスがロードできてない場合
- 7 androidプロジェクトを開いてのビルド
- 8 android-studioのprojだけをcompileする方法
- 9 以下エラーが出た場合
- 10 apkインストール
- 11 設定ファイル
- 12 gradleバージョン変更
- 13 apk起動
- 14 ビルドからapk起動まで一括で
- 15 AndroidManifestに権限追加
- 16 Activityをカスタマイズしたい場合
- 17 参考
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
Error running command, return code: 2.のエラー
cocos2dxが3.14.1で起こったのでcocos2dxを3.17に上げたら直った。
Android NDK: android-9 is unsupported. Using minimum supported version android-14.エラー
上記Application.mkのminimum supportedのandroid-9をandroid-14に変更してみる
Android NDK: WARNING: APP_PLATFORM android-14エラー
android-14が入ってないので、AndroidのSDK_Managerからandroid-14を入れる
error: undefined reference toなどでカスタムクラスがロードできてない場合
以下にカスタムクラスを追加する必要がある
proj.android/app/jni/Android.mk
androidプロジェクトを開いてのビルド
直接androidプロジェクトを開いてビルドしても以下エラーとなり実行できない java.lang.UnsatisfiedLinkError: Couldn't load MyGame from loader dalvik.system.PathClassLoader
↓コマンドで一度compileするとできた。
android-studioのprojだけをcompileする方法
v.3.17
$ cocos compile -p android
v.3.14.1
$ cocos compile -p android --android-studio
以下エラーが出た場合
Android SDK toolsの25.3.0でbugがあるので25.3.0は避ける。
************************************************************************* 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インストール(cocosプロジェクトの下にbinができてるので)
adb install -r bin/debug/android/Helloworld-debug.apk
Successと出たら成功
設定ファイル
proj.android/gradle.properties
# Android SDK version that will be used as the compile project PROP_COMPILE_SDK_VERSION=27 # Android SDK version that will be used as the earliest version of android this application can run on PROP_MIN_SDK_VERSION=14 # Android SDK version that will be used as the latest version of android this application has been tested on PROP_TARGET_SDK_VERSION=27 # Android Build Tools version that will be used as the compile project PROP_BUILD_TOOLS_VERSION=27.0.1
gradleバージョン変更
$ vi proj.android/gradle/wrapper/gradle-wrapper.properties distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
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