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