【解决办法】使用Cocos Code IDE 导出 Android 工程「执行命令出错,返回值:2。」

转载地址: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

和我的很像。参考解决方法,果断删除之。

解决我的问题。





亚隽yajun 2016-03-05 13:09:53 #1楼
还有一种情况:在mk文件的反斜杠后面如果有空格,也会导致编译的时候报返回值2的错误,^-^ V

亚隽yajun 2016-03-05 13:09:53 #1楼
还有一种情况:在mk文件的反斜杠后面如果有空格,也会导致编译的时候报返回值2的错误,^-^ V
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值