win7 64位上cocos2dx2.0.4移植android的全过程

来源:互联网 发布:linux内核源代码分析 编辑:程序博客网 时间:2024/06/05 05:28

关于cocos2dx和vc的安装太简单就不说了,主要是讲下我自己的电脑从cocos2dx中移植到android中的过程和一些经验。我自己在配置环境的时候经常就发现一些奇葩的问题百度还跟辛苦才得到的,所以自己写下来,希望给有需要的人一些帮助。还有就是我在这篇文章中会讲解得比较细,照顾那些像我当初那样基础薄弱的同学。当然,这些只是我的看法,我的不一定是完全对的,有错误的地方大家可以指出来。


不管是cocos2dx还是说android,尽量去安装稳定版本的,也就是经过了大家共同试用过的版本。我这里使用到的环境是:

cocos2dx2.0.4 , android2.3.3 , ndk-r9c。

现在的ndk7以后,功能非常强大,已经不需要cygwin也是可以完成整个编译了。


就从使用cocos2dx2.0.4根目录中的create-android-project.bat文件创建proj.android开始说起。在使用create-android-project.bat这个文件之前需要进行配置,不要直接使用记事本打开,可以使用一些编辑工具来编辑,如notepad++,这是我在用的编辑器。


使用编辑工具打开后,需要改动的地方只有两个:

set _ANDROIDTOOLS=  和 set _NDKROOT= ,在这两个的后面直接添加路径即可。在使用cygwin的时候还需要填一个路径,那就是在这两个之前的cygwin中bin文件的路径,现在已经不需要了,那两行可以直接删掉,这样就不会报错说找不到cygwin的bin文件路径。保存下,create-android-project.bat就配置好了。



现在可以使用create-android-project.bat这个文件创建proj.android文件了。直接打开后,先是填入包名,可以是按照示例中的格式如org.aa即可,然后是项目名,可以是你要编译的cocos2dx项目名,如aa;接着就是选择android的版本了。这里有一个建议,就是别用最新的版本,一般最新的会出现比较多的问题,低版本的android产生的文件可以在高版本的android中使用,但是高版本的android却不一定能够放到低版本中使用,所以最好使用稳定的版本,我这里使用的是2.3.3。

在创建文件之前,如果你的cocos2dx项目也是叫aa那么请先把他剪切到其他地方,不然会有冲突。


选择你需要的版本,我这里id的第六个是android2.3.3。所以敲下6,回车。


这个时候你就可以看到cocos2dx的根目录中就有存在了一个aa的项目,里面有proj.android,class和resources三个文件夹,将你原来使用的cocos2dx中的所有用到的cpp和.h文件都放到class中覆盖掉。然后就是将原来项目中的resources中的所有文件都放到现在的resources中覆盖。


接着一个很重要的地方,就是cocos2dx的根目录下,也就是cocos2d-2.0-x-2.0.4\cocos2dx\platform\android\java\src\底下的org文件夹拷贝到你的proj.android文件夹中src里面将原来的org覆盖。到这个时候准备工作就做完了,现在需要将这个文件放到eclipse中。

在使用eclipse之前,需要有Java的环境,安装JDK需要对应电脑系统,比如32位与64位其实就是有区别的。新的adt下载已经将SDK放在里面了,下载解压后直接打开,eclipse可以直接使用了。只要在manage中添加需要的android版本就可以了,当然也是可以直接下载离线包放到SDK底下的platforms里面就可以,当你使用create-android-project.bat的时候就会提示你使用哪个版本。

进入eclipse后,左上角NEW->other->然后是browse选择刚才建立的那个proj.android文件,然后finishe。

导入文件后,需要做的就是windows->preference然后点击android填上SDK的路径

接着就是左边的NDK,同样是browser路径,然后OK.

选中项目,project->properties-左边builders->new->program->


在红圈点起来的地方,点击寻找需要的ndk-builder.cmd和选中项目名就可以了。


然后我们转到refresh



依照红圈中的操作即可。

然后是build Options



在这里有三个地方需要改动,特别是在第三个地方specify resources



中需要做的改动就是将jni打勾就可以了,全部OK.


这个时候我回到界面的时候,有些人的console中会出现libraries包错误

可以选中项目,然后project->properties->Javabuildpath,在这里将红圈中的dependences包删除

这个问题解决后,还是有一个问题,那就是DNK路径问题

这个问题需要到android.mk文件中去解决,需要增加两行代码

$(call import-add-path, D:\tools\cocos2d-2.0-x-2.0.4\cocos2d-2.0-x-2.0.4)\
$(call import-add-path, D:\tools\cocos2d-2.0-x-2.0.4\cocos2d-2.0-x-2.0.4\cocos2dx\platform\third_party\android\prebuilt)\

增加的位置就是在



这个时候将文件保存,发现console中还是提示警告,这个时候可以在application.mk文件的最后一行添加APP_CPPFLAGS += -Wno-error=format-security 


这个时候再保存文件,就会发现虽然有飘红,但是还是一路下去了,当你在console中看到

的时候,就说明你成功了,而系统自己生成的apk文件就会在bin文件底下。

说道apk,有些人运行后不会生成apk文件,这需要一些调整在windows->preferences中需要将红圈中的勾打掉



这个时候我们点击项目->run as->android application的话不会运行成功,需要将cocos2dx根目录下的aa项目中的resources中的图片拷贝到proj.android中的assets中。


需要提醒的是,项目完成后最好就是使用真机测试,有些时候,android的模拟机不能够运行,但是真机是可以的,只要到设备管理中确认驱动已经安装,然后run configuration,选择真机调试就可以了。


虽然说就这样讲完了,但是我这些也只是讲述了大家遇到问题的一部分而已,毕竟大家的电脑都不一样,还有很多问题都是需要去网上了解

0 0
原创粉丝点击