Cocos2dx编译Android包出现的小问题汇总

来源:互联网 发布:多台nginx 做负载均衡 编辑:程序博客网 时间:2024/05/16 08:10

遇到问题就在这里更新——

问题:编译失败,但是却找不到的error。
解决:尝试把eclipse中obj目录下的子目录删除,重新编译,因为更改了新的代码在obj下可能存在旧版本,在编译过程中被跳过。

问题:cocos2dx-2.2.6版本编译不使用.py文件
解决:把项目导入eclipse中,选中项目->属性->Builders->勾选CDT Builder进行编译,编译完成后需要取消CDT的勾选才能runaction程序,否则执行的还是编译操作。
配置环境:
C/C++ Build:
Build command : G:\android-ndk-r9d/ndk-build.cmd //这里是你的ndk的路径
Build directory : ${workspace_loc:/snowgame} //snowgame是项目名称 可以直接点击workspace选中项目
C/C++ Build->Environment:
设置NDK_MODULE_PATH
G:\Cocos\Cocos2d-x\cocos2d-x-2.2.6;G:\Cocos\Cocos2d-x\cocos2d-x-2.2.6\cocos2dx\platform\third_party\android\prebuilt;G:\Cocos\Cocos2d-x\cocos2d-x-2.2.6\projects\SnowGame1.0\proj.android
//三个路径,第一个为引擎路径,第二个是项目的prebuilt,第三个是项目的Android路径proj.android

问题:编译auto不能通过
解决:cocos2dx 2.2.6版本不能用auto 声明控件,例如auto sprite =CCSprite::create(“sprite.png”);
需要改成CCSrpite* sprite=CCSprite::create(“sprite.png”);
cocos2dx 2.2.x版本尽量不要使用auto 可能会出现编译失败的问题。

问题:编译成功程序闪退
解决:在编译过程中,有可能会出现没有拷贝assets文件或者是系统删掉原有的assets文件,缺少资源文件会导致程序闪退。
可以在android目录下新建assets文件夹,把resource文件下的所有文件复制到assets文件夹中。

问题:编译错误:提示某个类creat()异常
解决:查看win32版本是否可以正常运行,如不能,有异常解决异常,如果win32可以正常运行,但是编译提示这个类异常,可以在Android版下的jni目录下的Android.mk的LOCAL_SRC_FILES中查看是否添加了这个cpp文件。必须在Android.mk中添加win32版本下的所有cpp文件才能编译成功。

问题:出现乱码、在游戏中闪退
解决:logcattishi :art/runtime/runtime.cc:…一串乱码。运行win32版本,正常。查看闪退位置所在的类,因为是乱码原因,所以在win32中“文件”->“高级保存选项”->“编码”->保存为UTF-8(带签名)。

原创粉丝点击