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

今天没事又尝试了下3.0正式版关于Android平台的移植,把新建的项目移植了下。过程仅用了十分钟左右,什么概念?!

好吧,事实上我想说,这个版本号真的移植非常轻松啊,只是还没加上其它东西,只是就眼下来说,真的非常方便。心理算是平衡些了,由于写代码总是想着要把CC去掉。。。

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

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

假设有自己新建的类文件。记得在“\TestGame\proj.android\jni”文件夹下“Android.mk”中加入下,这里我新建的一个项目,没有做不论什么改动,所以就不用加入了。

打开cmd,进入到android解决方式的文件夹下。即“\cocos2d-x-3.0\projects\TestGame\proj.android”,你会看到这个文件夹下有个“build_native.py”文件。ok,我们就是须要它了。和曾经用cygwin编译的非常像,

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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdzMzNzE5ODMwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

看到如上的图,就说明编译成功了。生成了.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正式版尝鲜体验【2】 Android平台移植

再次run as下,就能够在模拟器中看到这样非常怀旧的画面了。

Cocos2d-x v3.0正式版尝鲜体验【2】 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,配置一下路径就好了。

上一篇:第002篇 深入体验C#项目开发(一)


下一篇:Android 7.0正式版工厂镜像下载