android平台的移植问题苦恼了我好几天,最后虽然移植成功,但是博主并不是在Eclipse中打包的,而是用的coco自带的工具打包的,详情让我慢慢道来。
第一步 配置android环境
这一步非常重要也是最容易出错的地方,同样也是花费我时间最多的地方,尝试了好多版本的配置文件。
- SDK用的是adt-bundle-windows-x86_64-20131030这是一个Eclipse和SDK的集合的压缩文件,直接解压缩到你想安装的路径就行。
- ANT我用的是apache-ant-1.9.2 ,网上搜一下也是个压缩包直接解压,然后同上。
- NDK用的是android-ndk-r9d版本,也是压缩包直接解压。
- JDK用的版本是1.8.0_51,这是安装文件,点下一步安装就行。
先安装JDK,打开”环境变量”,配置如下
图片少标了个,%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;这是我的路径然后在“开始->运行->输入cmd->java -version”,如下说明配置成功
接下来讲命令行cd到安装了cocos2dx的目录下,输入setup.py,第一次会让你配置SDK、NDK和ANT,我的配置如下
注意:不要带空格和中文
弄好以后会在“环境变量”里面出现相应的变量名,记得在变量“path”里面加入%NDK_ROOT%;%ANDROID_SDK_ROOT%;
打开cmd输入adb -h 看到如下就是说明SDK配置好了
到此环境是配置好了。
- 第二步
- 如果你的项目还没有在VS运行过,要先运行出来。要注意的是3.7好像要用2013,之前的3.x用2012,总之要用VS运行出来才能继续往下走。
- 进入你项目里面的proj.android目录,运行build_native.py。结果如下图
如果代码需要修改,记得要再次运行它。 - 用文本工具打开项目目录\proj.android\jni下的Android.mk,我们需要修改LOCAL_SRC_FILES,如下图
红色方框里面的是cocos生成项目自带的类,如果你添加了其他的类,那么就要照着这个格式添加,就像我下面的样式一样。注意这个地方不能出现空行像这种就会报错。
还有一点就是一定要看清楚了有几个cpp就添加几个,不要重复添加也不能多添加,我之前就是重复添加了一个报错了,半天才看出来是这里出了问题。
假如你导入了非Class路径下的头文件,比如你导入了cocos2d文件里面的头文件(都是项目目录里面的文件)
那么你还要修改这里的,如下图
多说一点在Eclipse里面导入pro.android文件时不要点“把项目复制到本地的工作环境”就是因为前面的../../这个是根目录如果复制了就找不到原来的根目录会出错。
- 关于横竖屏的修改的地方是项目目录\proj.android下的AndroidManifest.xml文件。用文本工具打开portrait为竖屏,landscape为横屏。
- 游戏图标和名字修改的地方在项目\proj.android\res下
前四个文件里面都是不同像素的图标分别是32*32、48*48、72*72、96*96(单位像素)。名字修改是在该目录的values子目录下的strings.xml文件,用文本工具打开
红色方框里面就是修改的地方,我修改成了Egg,也可以修改成中文。
- 第三步
命令行cd到项目目录下输入cocos run -p android,如下图
出现了BUILD SUCCESSFUL就是说明打包成功了,apk文件会被放到项目目录bin\debug\android文件夹中,安装到真机就可以运行了。
最后如果大家打包的时候出现了错误,可以尝试着重新new一个cocos项目然后把之前的Classes和resource复制过去win32运行出来后,运行build_native.py再重新打包。我的一些错误就是这样解决的。3.7支持Android studio 了,这是个好消息。至于在Eclipse里面打包需要安装CDT插件,还有就是android模拟器没设置好,真机可以运行模拟器就不行。