一、注意事项:一定要注意Cocos2d-x的版本问题。
工具版本:(如果不采用相对应的版本,会出现各种各样的错误,不过可以根据错误提示来选择项目版本)
Cocos2d-x 3.4;
NDK-10d;
Android SDK build-tools 19.1以上;
二、配置教程:仔细看教程
官方教程:1、http://www.cocos2d-x.org/wiki/Getting_Started_with_Cocos2d-x
2、http://www.cocos2d-x.org/wiki/How_to_run_cpp-tests_on_Android
教程3中直接Import the Libcocos2dx Project,在编译cpp-tests的时候回报could not find Libcocos2dx.apk的错误。可以通过在cpp-tests右键-->Build path->Link Source 把教程中所指定的文件夹下的src给引进来(名字随便起)。其实在你新建的项目目录cocos2d->cocos->platform->android->java的目录下也有这个文件。
3、http://www.cocos2d-x.org/wiki/How_to_Build_an_Android_Project_with_Eclipse
三、项目分析:
新建一个cocos2d-x项目,文件根目录:
1、所有的c++文件全部放在Classes文件夹下,cocos2d文件夹是cocos2dx框架文件夹。
2、以proj开头分别以平台名结束的文件夹,是为在不同平台下运行和调试使用的。
3、Resources文件夹下存放游戏所需要的图片和声音等文件,放置在这个文件夹下的文件在Android项目中会自动加载到assert文件夹下(Android默认搜寻文件的目录)。
4、Android 通过NDK使用JNI的时候,相应的C++类和方法需要遵循一定的命名规则,那么在使用cocos2d框架的时候这个步骤是怎么实现的呢?
在配置环境的时候我们通过link source引入的src文件夹下有两个java包,这两个java包为我们实现了Android平台初始化cocos2d场景的功能,即让cocos2d在activity中显示出来,而这些java代码调用的c++代码则在:cocos2d->cocos->platform->android->jni文件夹下;
5、用Eclipse首次打开项目的时候会编译很长时间,而编译工具就是NDK,编译项目的脚本cocos2d引擎已经自动生成,就是proj.android下的bulid_native.py,这个脚本在以后的去掉。既然是NDK那么当我们自己添加c++类的时候,我们需要手动在Android.mk文件中添加新加的类。
四、遇到的问题和解决方法:
1、Conversion to Dalvik format Failed: Unable to execute dex
http://fuweizhi31.blog.163.com/blog/static/292803672013102243159660/
2、window平台下 Eclipse Ndk开发中的Method 'NewStringUTF' could not be resolved问题
http://stackoverflow.com/questions/15899813/eclipse-method-newstringutf-could-not-be-resolved