Android打包出现的小问题汇总

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

问题:编译失败,但是却找不到的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(带签名)。

问题:打开Eclipse项目报错:
The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project
该项目没有构建,因为它的构建路径是不完整的。无法找到java.lang.object的类文件。修复构建路径,然后尝试构建这个项目
解决:选中项目->右键属性properties->Android->选择另一个Target Name(例如:Android 6.0)->Apply应用->再选回原来的版本(例如:Android 4.4.2)->ok
这样就能解决了,网上说的原因是有可能是你Eclipse的版本过高,Eclipse没反应过来。

问题:VS2013未能正确加载解决方案中的一个或多个应用
解决:项目中没有包含coocs2d引擎,需要把项目放在cocos2dx的project文件目录下,这样可以用cocostudio自带的引擎。如果因为别的原因,如内存不足,需要放到别的路径,可以把cocos2d文件夹(cocos引擎,大概有4G多)复制放到项目文件夹中。

问题:相同包名项目无法导入eclipse
解决:在项目Android文件下找到.project,编辑,修改< projectDescription >下的< name >XXX< /name >。

问题:VS2013声明Button报错,未定义的标识符
解决:在头文件添加
#include “cocostudio\CocoStudio.h”
USING_NS_CC;
//主要是下面这两个要有,才能使用一些UI控件的声明
#include “ui/CocosGUI.h”
using namespace ui;
//注意: USING_NS_CC 要在using namespace ui 前面,否则在源文件引用时会出现Button为未定义标识符。

问题:you must restart adb and eclipse
解决:1,关闭eclipse并在进程中杀掉adb.exe,然后重启。
2,如有真机连接,拔掉真机,重复1的步骤,
3,关掉eclipse,然后在命令行运行如下命令
adb kill-server
adb start-server
然后重启eclipse

问题:使用AndroidStudio打包的APK在虚拟机上无法运行
解决:原因是AndroidStudio不像eclipse打包会自动签名,所以使用AndroidStudio打包的apk需要下载打包工具添加签名;我是使用腾讯的乐固来做签名的,直接百度腾讯加固,下载乐固,安装登录之后,点其他工具,会有一个签名选项,完成签名导出APK即可。

你可能感兴趣的:(cocos打包Android)