Cocos2d-x v3.0正式版尝鲜体验 Android平台移植

博观而约取,厚积而薄发。这篇文章主要讲述Cocos2d-x v3.0正式版尝鲜体验 Android平台移植相关的知识,希望能为你提供帮助。
今天没事又尝试了下3.0正式版关于android平台的移植,把新建的项目移植了下。过程仅用了十分钟左右,什么概念?!
好吧,事实上我想说,这个版本号真的移植非常轻松啊,只是还没加上其它东西,只是就眼下来说,真的非常方便。心理算是平衡些了,由于写代码总是想着要把CC去掉。。。



话不多说,来看看怎么移植到Android平台吧。体会下什么叫方便。



首先须要Android的NDK,SDK,Eclipse啥啥的就不提了。这些有过移植经验的就不多说了,关于NDK,最好去官网下载最新的版本号。


假设有自己新建的类文件。记得在“\TestGame\proj.android\jni”文件夹下“Android.mk”中加入下,这里我新建的一个项目,没有做不论什么改动,所以就不用加入了。
【Cocos2d-x v3.0正式版尝鲜体验 Android平台移植】打开cmd,进入到android解决方式的文件夹下。即“\cocos2d-x-3.0\projects\TestGame\proj.android”,你会看到这个文件夹下有个“build_native.py”文件。ok,我们就是须要它了。和曾经用cygwin编译的非常像,


输入build_native.py。回车,就開始编译了,非常轻松。

Cocos2d-x v3.0正式版尝鲜体验 Android平台移植

文章图片


看到如上的图,就说明编译成功了。生成了.so文件。


回到\cocos2d-x-3.0\projects\TestGame\cocos2d\cocos\2d\platform\android\java\src文件夹下,将org文件夹复制粘贴到android项目下的src文件下(路径\TestGame\proj.android\src),这个每次移植都是必须做的。不多解释了。


最后打开Eclipse,导入项目,执行就可以。
假设遇到这种错误
[2014-04-26 12:31:48 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2014-04-26 12:31:48 - TestGame] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.

把“Android Dependencies”移除掉就可以。
Cocos2d-x v3.0正式版尝鲜体验 Android平台移植

文章图片




再次run as下,就能够在模拟器中看到这样非常怀旧的画面了。
Cocos2d-x v3.0正式版尝鲜体验 Android平台移植

文章图片




事实上我们到时能够打开一下“build_native.py”文件看看,里面写了一下python脚本。比方这段就是复制资源。所以我们不须要拷贝Resources文件夹下的资源了。

def copy_resources(app_android_root):# remove app_android_root/assets if it exists assets_dir = os.path.join(app_android_root, "assets") if os.path.isdir(assets_dir): shutil.rmtree(assets_dir)# copy resources os.mkdir(assets_dir) resources_dir = os.path.join(app_android_root, "../Resources") if os.path.isdir(resources_dir): copy_files(resources_dir, assets_dir)


假设出现找不到NDK。SDK,配置一下路径就好了。















    推荐阅读