链接:https://www.zhihu.com/question/21505500/answer/22152464
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
面向android的移植
0.
这移植过程简直……
1.
完成以上工具的下载安装
cocos2d-x 2.2.2
eclipse+adt+sdk
ndk
2.
在"cocos2d-x-2.2.2\tools\project-creator"目录下找到create_project.py,2.*之后的版本都用这个.py生成工程,
python create_project.py -project Test -package com.mycocos.test -language cpp
//其中Test为工程名称,com.mycocos.test为包名
3.
将projects目录中的proj.android项目导入eclipse。
修改"proj.android\jni"目录下android.mk文件,将所有cpp都包含进去。
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/源文件1.cpp \
../../Classes/源文件2.cpp
/*添加上自己项目里所有的源文件,结尾的'\'是连接符,如果下一行还有内容,请不要漏掉.而且'\'后应直接回车*/
4.
拷贝cocos2dx目录"cocos2dx\platform\android\java\src"目录下的org包到Eclipse项目的src目录下下。
如果\proj.android\assets里没有资源文件,将\Resources下的所有资源文件复制到assets中。(这里遇到了权限问题,见7)
5.
修改Eclipse项目属性C/C++ builder的build command和build directory。分别为NDK目录下的ndk-builder.cmd当前项目文件夹,
build command : E:\android-ndk-r9\ndk-build.cmd
build directory : ${workspace_loc:/Test}/
添加C/C++ Builder Environment NDK_MODULE_PATH,值为cocos2dx目录和cocos2dx目录\cocos2dx\platform\third_party\android\prebuilt,
NDK_MODULE_PATH : E:\Cocos2d-x\cocos2d-x-2.2.2;E:\Cocos2d-x\cocos2d-x-2.2.2\cocos2dx\platform\third_party\android\prebuilt
6.
build project , run as andorid app
由于AVD不支持openGL,在模拟器上无法显示,所以只能跑真机。
7.
编译时出现了资源无法获取的问题,是由于权限限制,修改即可。
这里只是使用cygwin将当前工程所有文件都修改为可读写,chmod -R a+r *,
并没有用来编译,之前用cygwin编译时出现了好几个添加log代码错误的问题,注释掉。