cocos2dx 2.2.2 的Android交叉编译问题汇总
1. cygwin编译cocos2d-x项目工程时,无法创建普通文件,如图:
解决方法:
修改build_native.sh
该文件在E:\cocos2dx\template\multi-platform-cpp\proj.android目录中,因为在执行build_native.sh的时候,会出现的权限的问题,所以在这个脚本中,增加了权限设置,来解决这个问题。
在第87行后面,也就是复制资源的后面增加下面一行.加入:chmod 666 -R "$APP_ANDROID_ROOT"/assets
2. cocos2d-x编译Android项目,与之前版本略有不同。
在将我们的项目导入eclipse之前,我们还需要将cocos2d-x-2.2.2\cocos2dx\platform\android\java\src下的org文件夹拷贝至我们的项目中,也就是cocos2d-x-2.2.2\projects\xxx\proj.android\src下(xxx为项目名),由于我们之前创建项目时定的android包名前面也是org,所以会有覆盖选项,大家请选择合并覆盖即可
(那是不是每次编译安卓项目是都要复制这个包过来呢?其实是不用的,这个放在文章的末尾来讨论)
接着,回到eclipse环境,导入项目
注意在选择路径时写到HelloWorld文件夹下即可
导入工程后,在工程HelloWorld上点选右键,选择Properties
选择builders,点击New
选择program
然后在接下来的界面中的
name栏输入:Native_Builder
Location栏输入:C:\cygwin64\bin\bash.exe
Arguments栏输入:--login -c "cd /cygdrive/d/study/android/IDE/android-ndk-r9b && make APP=HelloWorld"
以上为一行
Arguments栏中,login前有两个"-"符号,中间的目录设置参考前面教程中对NDK_ROOT的路径设定,后面的HelloWorld为创建的工程名,这个根据自己创建的工程名设定。(提示:如果不是按照默认路径安装的,请选择Browse File System,找到相关的路径)
选择OK,选中Native_Builder,并将其调到最上面
然后选择C/C++ Build->Environment->Add
接下来在Name栏输入path,在Value栏输入C:\cygwin64\bin
然后在Java Build Path里面选择Libraries栏,将Android Dependencies以及Android Private Libraries两个library删掉
(说明一下,以上我们是将cygwin的编译环境合并到了Eclipse里,Eclipse利用cygwin并调用cygwin的bash以及make,通过NDK来编译我们的Android程序,所以每次导入新的工程都要将上述步骤重新配置一下,这点非常重要,如果配置不正确,会导致很多莫名其妙的报错,最典型的错误就是提示找不到bash命令什么的~~~~)
好了,现在我们可以生成APK文件了,在主界面选中自己的工程,然后在命令条上选择Run->Run as->Android Application
如果以上步骤都按照教程设定的话,就能够生成APK了,APK存放在proj.android->bin文件夹下,快将APK装在自己的真机上进行测试吧!!!!!
以上编译环境就配置结束了。
3.eclipse编译项目时,出现 “The connection to adb is down, and a severe error has occured.”
Try below steps:
- Close the Eclipse if running
- Go to the Android SDK platform-tools directory in Command Prompt
- type adb kill-server
- then type adb start-server
- No error message is thrown while starting ADB server, then adb is started successfully.
- Now you can start Eclipse again.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。