轉載地址:https://blog.csdn.net/zhyl8157121/article/details/50433486
問題描述
使用 Cocos Code IDE 導出 Android 工程的時候,出現上述問題。Cocos 可以正常開發,項目可以在瀏覽器中正常運行。
報錯信息
執行命令:compile
編譯模式:debug
使用 Eclipse 工程:E:\xxx\xxx\xxxxx\frameworks\runtime-src\proj.android
未指定 Android 目標平臺版本,自動查找一個可用版本...
正在執行:'"E:\Android\sdk\tools\android" update project -t android-10 -p E:\xxx\xxx\xxxxx\frameworks\runtime-src\proj.android'
Updated project.properties
Updated local.properties
Updated file E:\xxx\xxx\xxxxx\frameworks\runtime-src\proj.android\proguard-project.txt
It seems that there are sub-projects. If you want to update them
please use the --subprojects parameter.
正在執行 ndk-build...
NDK 編譯模式:debug
NDK_TOOLCHAIN_VERSION: 4.9
正在執行:'"E:\Android\andr oid-ndk-r10e\ndk-build" -C E:\xxx\xxx\xxxxx\frameworks\runtime-src\proj.android -j8 NDK_MODULE_PATH=C:\Cocos\frameworks/cocos2d-x-3.8;C:\Cocos\frameworks/cocos2d-x-3.8/cocos;C:\Cocos\frameworks/cocos2d-x-3.8/external NDK_TOOLCHAIN_VERSION=4.9 NDK_DEBUG=1'
make.exe: Entering directory `E:/xxx/xxx/xxxxx/frameworks/runtime-src/proj.android'
[armeabi] Gdbserver : [arm-linux-androideabi-4.9] libs/armeabi/gdbserver
[armeabi] Gdbsetup : libs/armeabi/gdb.setup
make.exe: *** No rule to make target `D:/android-ndk-r10e/sources/android/cpufeatures/cpu-features.c', needed by `obj/local/armeabi/objs-debug/cpufeatures/cpu-features.o'. Stop.
make.exe: *** Waiting for unfinished jobs....
make.exe: Leaving directory `E:/xxx/xxx/xxxxx/frameworks/runtime-src/proj.android'
執行命令出錯,返回值:2。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
開發環境
- 操作系統:windows 10 x64
- IDE: Cocos Development Toolkit + Intellij IDEA 14.1.4
- NDK : android-ndk-r10e
- Cocos:Cocos2d-x-3.8 JSB
項目背景
從別人那裏 copy 過來的項目,之前在他的機器上編譯過,而且可以正常運行。我昨天配了一天的 Android 開發環境,今天配置 Cocos 開發環境的時候發現的問題。
解決方法
網上查了好久,大致有以下三種:
1. 去掉jni文件裏的helloworld.cpp
這個解決方法直接放棄了,雖然報錯是一樣的,都是「執行命令出錯,返回值:2。」,輸出的內容是不一樣的。
Based on: cocos2d-x-3.8
Updated project.properties
Updated local.properties
Updated file F:\qipai\phone\04client\proj.android\proguard-project.txt
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 9 in ./AndroidManifest.xml
make.exe: Entering directory `F:/qipai/phone/04client/proj.android'
make.exe: Leaving directory `F:/qipai/phone/04client/proj.android'
make.exe: *** No rule to make target `jni/../../Classes/HelloWorldScene.cpp', needed by `obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/HelloWorldScene.o'.Stop.
執行命令:compile
編譯模式:debug
使用 Eclipse 工程:F:\qipai\phone\04client\proj.android
未指定 Android 目標平臺版本,自動查找一個可用版本...
正在執行:'"E:\Android-SDK-2\tools\android" update project -t android-20 -p F:\qipai\phone\04client\proj.android'
正在執行 ndk-build...
NDK 編譯模式:release
NDK_TOOLCHAIN_VERSION: 4.9
正在執行:'"E:\android-ndk-r10d\ndk-build" -C F:\qipai\phone\04client\proj.android -j3 NDK_MODULE_PATH=C:\Cocos\frameworks/cocos2d-x-3.8;C:\Cocos\frameworks/cocos2d-x-3.8/cocos;C:\Cocos\frameworks/cocos2d-x-3.8/external NDK_TOOLCHAIN_VERSION=4.9'
執行命令出錯,返回值:2。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
這個是上面問題問題的詳細出錯信息,和我遇到的不一樣。
2. 更新 NDK 版本
看到其他人出現這個問題的報錯如下:
正在執行 ndk-build...
NDK 編譯模式:release
NDK_TOOLCHAIN_VERSION: 4.8
正在執行:'"D:\Android\android-ndk-r10\ndk-build" -C F:\CocosWorkspace\Test\frameworks\runtime-src\proj.android -j3 NDK_MODULE_PATH=D:\Cocos\frameworks/cocos2d-x-3.7.1;D:\Cocos\frameworks/cocos2d-x-3.7.1/cocos/;D:\Cocos\frameworks/cocos2d-x-3.7.1/external;D:\Cocos\frameworks/cocos2d-x-3.7.1/cocos/scripting NDK_TOOLCHAIN_VERSION=4.8'
執行命令出錯,返回值:2。
- 1
- 2
- 3
- 4
- 5
- 6
這個人用的是 r10,我特意翻牆到官方 NDK 下載地址 https://developer.android.com/ndk/downloads/index.html 看了一下,發現我用的 r10e 已經是最新的了。
無果,憂桑。
3. 刪除“項目名字\proj.android\obj\local\armeabi”下的所有文件
提問的人的報錯信息:
Based on: cocos2d-x-3.8
Updated project.properties
Updated local.properties
Updated file E:\cocos2d-x\cocosProjects\CocosProject1\proj.android\proguard-project.txt
It seems that there are sub-projects. If you want to update them
please use the --subprojects parameter.
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 9 in ./AndroidManifest.xml
make.exe: Entering directory `E:/cocos2d-x/cocosProjects/CocosProject1/proj.android'
[armeabi] Compile++ thumb: cocos2dcpp_shared <= main.cpp
[armeabi] Compile++ thumb: cocos2dcpp_shared <= AppDelegate.cpp
make.exe: *** No rule to make target `D:/android-ndk-r10d/sources/android/cpufeatures/cpu-features.c', needed by `obj/local/armeabi/objs/cpufeatures/cpu-features.o'.Stop.
make.exe: *** Waiting for unfinished jobs....
[armeabi] Compile++ thumb: cocos2dcpp_shared <= HelloWorldScene.cpp
make.exe: Leaving directory `E:/cocos2d-x/cocosProjects/CocosProject1/proj.android'
執行命令:compile
編譯模式:debug
使用 Eclipse 工程:E:\cocos2d-x\cocosProjects\CocosProject1\proj.android
未指定 Android 目標平臺版本,自動查找一個可用版本...
正在執行:'"D:\cocosAndroid\Android-SDK\tools\android" update project -t android-20 -p E:\cocos2d-x\cocosProjects\CocosProject1\proj.android'
正在執行 ndk-build...
NDK 編譯模式:release
NDK_TOOLCHAIN_VERSION: 4.9
正在執行:'"D:\cocosAndroid\android-ndk-r10d\ndk-build" -C E:\cocos2d-x\cocosProjects\CocosProject1\proj.android -j3 NDK_MODULE_PATH=C:\Cocos\frameworks/cocos2d-x-3.8;C:\Cocos\frameworks/cocos2d-x-3.8/cocos;C:\Cocos\frameworks/cocos2d-x-3.8/external NDK_TOOLCHAIN_VERSION=4.9'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
和我的很像。參考解決方法,果斷刪除之。
解決我的問題。