很久都没有在安卓打过包了,之前的项目由于某些问题没有考虑做安卓版本,所以涉及到安卓打包的时候都是自己在折腾。
这段时间离职了,空余时间就有很多了,所以我可以折腾点事了。想起来之前做的一个俄罗斯方块的小项目,没有在自己的电脑上打包安装过,便想着是否得在自己的电脑上配置一下环境之类的。因为很久都没有在自己的电脑上折腾过了,所以说好多东西都有点陌生,然后引擎版本啥的也有点不一样,环境配置需要修改了。然后遇到了很多问题:
1、关于partform
一开始直接运行,便是xxx partform问题,这个是一开始就遇到了,当时没来得及详细记录下来。我记得这个问题我朋友也遇到过,而且不是一两次的问题,我想可能是系统环境没有配置好。网上查到的资料显示,cocos2dx v3.2版本的ndk版本需求一定到是r9d的,然后我电脑上装的是r8e,所以首先这个就是问题。谷歌官网好像要翻墙,而且不能直接下载到老版本的ndk,在网上查到的资料显示其实是可以间接下载到的:
windows版本下载:
32位:http://dl.google.com/android/ndk/android-ndk-r9d-windows-x86.zip
64位:http://dl.google.com/android/ndk/android-ndk-r9d-windows-x86_64.zip
linux版本:
32位:http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86.tar.bz2
64位:http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2
mac版本:
32位:http://dl.google.com/android/ndk/android-ndk-r9d-darwin-x86.tar.bz2
64位:http://dl.google.com/android/ndk/android-ndk-r9d-darwin-x86_64.tar.bz2
下载不同的版本,只需要将链接中的如r9d改成需要的版本号就可以了,然后好像新版本的后缀格式改了,可能会涉及到下载包的格式修改,也就是将链接最后面的那个文件包格式修改一下就可以,这个可以参考ndk官网所给的。下载好了正确的ndk版本,然后修改环境配置,便没有那个问题了,然后就是其余的问题闪亮登场!
2、关于"cocosbuilder/CocosBuilder.h" file not found
类似上面截图的这种情况.
这个需要涉及到修改proj.android/jni/Android.mk文件了。Android.mk文件的语法我不是很清楚,只是知道这个是必须要改的。简单的语法通过查看了网上的资料知道了:
- 注释是在语句前面加上 "#" 符号;
- 代码之间可以用空格或者Tab键进行分割;
- 换行则是在语句后加上 "\" 符号;
- 赋值是 ":=" 这个组合符号;
- 追加是 "+=" 这个组合符号;
- 引用变量的值 "$"。
":=" 与 "="的区别:
- ":=" 的意思是:它右边赋的值如果是变量,只能使用这条语句之前定义好的,而不能使用本条语句之后定义的变量;
- "=" 的意思是:当它的右边赋值是变量时,这个变量的定义在本条语句之前或者之后都是可以的。
然后我们可以打开新建的项目这个android.mk文件是哪样的:
可以看到,有些前面是有 # 符号的,即这是被注释掉了的语句。从这些注释掉了的语句中可以看到导入cocosbuilder、cocostudio等库是被注释掉了的,我们要使用的话就需要取消注释;另外在导入模块的地方,可以看到导入extensions扩展、cocosbuilder编辑器扩展等都被注释掉了。将这些注释去掉,便能够解决问题了。
3、关于 "extensions/cocos-ext.h" file not found
这个跟问题2是类似的,导入库支持被注释掉了,取消掉注释就可以了。
解决完这些我就愉快的将项目打包到安卓手机上了。