前言
上一篇文章已经完成了cocos2dx 在win7环境下的搭建和调试,但最终我们还是要在手机上运行,现在主要的两个手机平台就是android和ios;ios的运行调试非常的方便,只要有mac系统,用xcode直接打开即可完成编译和调试;相对有一点麻烦的是android系统,下面我们就来对android系统的调试和运行进行一个说明
准备
编译android系统的版本需要安装jdk,可在官网进行下载(注:这里下载的版本是32位的,为了和我们的NDK版本兼容),下载好后安装jdk;记住安装目录
配置环境变量
新建 JAVA_HOME
变量值填写jdk的安装目录(本人是 D:\Program Files (x86)\Java\jdk1.8.0_45)
Path 中加入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)
新建 CLASSPATH
变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)
系统变量配置完毕
在cmd中运行java -version 如果显示如下界面则配置成功否则检查配置路径是否正确
打开eclipse (就在之前安装了adt-bundle-windows-x86-20131030 目录下)
然后将建好的工程导入到eclipse中目录结构如下
这里需要注意3.2版本中libcocos2dx的路径设置错误多了个2d 要手动修改去掉才能编译通过
修改如下图
配置好后在配置NDK的配置
首先在菜单栏中 -》windows-》Preferences 中添加NDK路径
设置好路径后在编译选项中设置编译命令为
最后编译即可
使用native application编译调试
设置
第一次调试如果没有使用真机会提示你是否创建一个虚拟机,创建一个虚拟机调试即可
需要注意2点:
1、虚拟机屏幕尺寸不易过大,如果超过了800 则SD卡的内存要小于512M,不然有可能虚拟机启动不成功
2、选择使用主机的GPU 就是勾选Use Host GPU,不然程序有可能在创建OPENGL过程中失败
如图
创建好之后会自动上传和安装运行,在相应处加上断点等待调试即可
建议有真机调试的环境使用真机调试,虚拟机调试比较缓慢
如图,已经可以触发断点了
到此,android下已经可以调试编译了,是不是很方便呢,真机调试与虚拟机类似,这里我遇到了一个真机运行问题,顺便提一下,以免有相同类似的问题
在我的真机(三星的note3)调试时提示:
run-as: Package "XXX.XXX.XXX" is unknown 只能运行不能断点
出现这种问题有两种情况:
情况1:手机目录 /data/system/packages.list 的文件大于了8k 用adb shell查看下次文件是否大于8k,如果大于8K则有很大因素是这个原因引起的
照成这种情况的原因是run-as tool 在读取手机app信息时是从此文件获取的,但是它只读取8K的内容,如果你的app信息时在8K以后它就读不到此包信息
解决方法:卸载掉一些无用的信息,减少此文件大小,如果手机root可直接修改此文件,将你的包信息修改到前面8k的内容范围内即可。
情况2:有能是Android 4.2.2 或者Android 4.3版本的系统 /data/system/packages.list文件权限是 -rw-rw---- ,root情况下修改为-rw-rw-r--即可,或者换一个设备试试吧
今天暂时先到这里吧,如果有错误的地方欢迎指出,大家一起学习交流
下一篇打算就写各个系统的下的打包过程,由于暂时mac不再身边,ios系统下的打包先空着吧,以后补上