关闭

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

664人阅读 评论(0) 收藏 举报
分类:
  1. 问题描述
  2. 报错信息
  3. 开发环境
  4. 项目背景
  5. 解决方法
    1. 去掉jni文件里的helloworldcpp
    2. 更新 NDK 版本
    3. 删除项目名字projandroidobjlocalarmeabi下的所有文

      问题描述

      使用 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
      • 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
      • 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
      • 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
      • 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

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

      解决我的问题。文章来源:http://blog.csdn.net/zhyl8157121/article/details/50433486

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:667次
    • 积分:8
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档