Cocos2d-x移植到android步骤和几个坑

来源:互联网 发布:10的阶乘编程 编辑:程序博客网 时间:2024/06/08 19:40

上周一直在 处理两件事情,都是属于程序开发后期的工作,一个是coccos2d-x移植到android上面,还有一个就是SDK的接入,移植的话是已经成功了,但是SDK接入一直弄到现在也没有弄出来,最近日记也没有坚持下来,给自己道个歉,以后继续保持写。这篇呢,就写一下我自己移植成功的一个步骤吧,这样以后遇到问题就可以解决了。

(本文不使用cygwin,NDK r7以上都内置了)

(本文创建工程使用的是python)

(本文使用Cocos2d-x版本为2.2,路径在E:\cocos2d-x-2.2)

所需工具:
1、android SDK + Eclipse + ADT
2、NDK r9
3、JDk7
4、Jre7
5、Python2.7.5 和 python.bat 
需要也仅仅需要这五个工具。以上五个包可在这里下载,当然如果你没有Cocos2d-x的话在这里也可以下载的到。
以下为步骤:


1、 分别安装python2.7.5、Jdk、Jre。,并将python的安装路径添加进计算机环境变量path中,我的路径是C:\Python27。

 

2、 将下载好的python.bat 复制到E:\cocos2d-x-2.2 \tools\project-creator文件夹下。运行这个批处理,按照提示输入项目名称和包名。本文移植将VS项目Nihao。所以创建的项目名称为Nihao,包名为com.Ann.Nihao

 

 

3、 成功之后在E:\ cocos2d-x-2.2\projects可找到找个项目Nihao。

 

4、 解压android-ndk-r9和Android_SDK,在Android_SDK下有我们要用到的eclipse和sdk。运行eclipse。

 

 

5、 (本文在真机测试没有下载Api,需要可以自行下载) 右键,导入工程,选择android,下一步,选择Nihao项目。

 

6、导入完成之后,回到资源管理器的E:\ cocos2d-x-2.2\projects\Nihao\proj.android项目目录下,多了几个文件夹,打开assets,将VS项目下的资源文件拷贝至这里。另外src目录下缺少cocos2d-x的Java库,所以需要将E:\cocos2d-x-2.2\cocos2dx\platform\android\java\src下面的org目录拷贝至E:\cocos2d-x-2.2\projects\Nihao\proj.android\src下然后回到eclipse,F5刷新一下。

 

 

7、 然后打开jni文件夹下的android.mk,修改cpp文件目录,如果少的话,可以一个个添加,如果比较多,可以将下面这段代码覆盖至LOCAL_MODULE_FILENAME := libcocos2dcpp以下,LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes以上。

代码为:

# 遍历目录及子目录的函数definewalk    $(wildcard $(1)) $(foreach e, $(wildcard$(1)/*), $(call walk, $(e)))endef # 遍历Classes目录ALLFILES= $(call walk,$(LOCAL_PATH)/../../Classes) FILE_LIST:=hellocpp/main.cpp# 从所有文件中提取出所有.cpp文件FILE_LIST+= $(filter %.cpp, $(ALLFILES))LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)//---------------------------------------------------


以上代码会自动遍历Classes文件夹下的所有cpp文件,包括子文件夹下的,比较方便,不用手动再去更改或添加mk文件了。另外,我并没有配置eclipse的环境是因为我发现只要配置系统环境一次就可以了。

 

8、 修改NDK路径,点击eclipse的窗口à首选项àandroidàNDK,路径修改为NDK根目录,如:D:\Tools\Android\android-ndk-r9

 

9、 右键单击项目名称,选择属性,选择C/C++构建,将构建命令修改为 D:\Tools\Android\android-ndk-r9\ndk-build.cmd。

10、选择C++构建,在选择环境。添加环境变量COCOS2DX值为E:\cocos2d-x-2.2;再添加NDK_ROOT,值为NDK解压根目录,如我的D:\Tools\Android\android-ndk-r9;添加NDK_MODULE_PATH,值为Cocos2d-x根目录E:\cocos2d-x-2.2和E:\cocos2d-x-2.2\cocos2d-x-2.2\cocos2dx\platform\third_party\android\prebuilt这两个目录,中间分号隔开。

 

11、属性面板上点击资源,再选择链接的资源。添加变量COCOS2DX值为Cocos2d-x根目录.

然后构建项目即可,这个时候会提示你mk文件出错,找到错误行

$( callimport-module,cocos2dx)\

$( callimport-module,cocos2dx\platform\third_party\android\prebuilt)\

修改为:

$(call import-add-path,E:\cocos2d-x-2.2\)\

$(call import-add-path,

E:\cocos2d-x-2.2\cocos2dx\platform\third_party\android\prebuilt)\

做了两处修改,首先将import-module改成import-add-path然后是将cocos2dx换成E:\cocos2d-x-2.2\即可。

11、再次构建,OK

12、打包的时候。右键项目,android Tools,选择Export Unsigned application Package打包无签名的apk用于测试

 参考文献


0 0
原创粉丝点击