现在的位置: 首页 > 综合 > 正文

windows下cocos2d-x android打包

2013年09月17日 ⁄ 综合 ⁄ 共 3157字 ⁄ 字号 评论关闭

本文为 51CTO bhubhu 原创,转载请标明原创作者及出处,以示尊重!

作者:bhubhu

原文:http://taodym.blog.51cto.com/3032223/1112160

1、下载安装Android NDK

      我应用的NDK版本为r8b

      在这之前我们要了解什么是android NDK 只是照葫芦画瓢 你可能会死的很惨 一点小错就会让你无法对应

NDK是一系列工具的集合。NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具是对开发者的帮助巨大的。
NDK集成了
交叉编译器,并提供了相应的mk文件隔离平台、CPU、API等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。NDK提供了一份稳定、功能有限的API头文件声明。Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。


2、安装cygwin

 因为NDK编译代码时必要用到make和gcc,所以你必须先搭建一个linux景象, cygwin是一个在windows平台上运行的unix模仿景象,它对于进修unix/linux操纵景象,或者从unix到windows的应用法度移植,很是有效。经由过程它,你就可以在不安装linux的景象下应用NDK来编译C、C++代码了。


起首,你得先跑到http://www.cygwin.com下载setup.exe

    1、 然后双击运行吧,运行后你将看到安装领导界面:

    2、 点击下一步

   此时让你选择安装体式格式:

         1)Install Internet:直接从Internet高低载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保存,以便下次再安装)。

         2)Download Without Installing:只是将安装文件下载到本地,但临时不安装。

         3)Install Local Directory:不下载安装文件,直接从本地某个含有安装文件的目次进行安装。



   3、选择第一项,然后点击下一步:

   4、选择要安装的目次,重视,最好不要放到有中文和空格的目次里,似乎会造成安装出题目,其它选项不消变,之后点下一步:

   5、上一步是选择安装cygwin的目次,这个是选择你下载的安装包地点的目次,默认是你运行setup.exe的目次,直接点下一步就可以:

   6、此时你共有三种连接体式格式选择:

   1) Direct Connection:直接连接。

   2) Use IE5 Settings:应用IE的连接参数设置进行连接。

    3) Use HTTP/FTP Proxy:应用HTTP或FTP代办代理办事器进行连接(须要输入办事器地址、端标语)。

        用户可按照本身的收集连接的实情景象进行选择,一般正常景象下,均选择第一种,也就是直接连接体式格式。然后再点击“下一步”,

   7、 这是选择要下载的站点,我用的是http://mirrors.kernel.org,速度感触感染还挺快,选择后点下一步

   8、 此时会下载加载安装包列表

   9、Search是可以输入你要下载的包的名称,可以或许快速筛选出你要下载的包。那四个单选按钮是选择下边树的样式,默认就行,不消动。View默认是Category,建议改成full显示全部包再查,省的一些包被隐蔽掉。左下角那个复选框是是否隐蔽过期包,默认打钩,不消管它就行,下边开端下载我们要安装的包吧,为了避免全手下载,这里列出了后面开辟NDK用得着的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc-
g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make
共12个包

   10、 然后开端选择安装这些包吧,点skip,把它变成数字版本格局,要确保Bin项变成叉号,而Src项是源码,这个就没须要选了。

   11、 下面测试一下cygwin是不是已经安装好了。

    运行cygwin,在弹出的号令行窗口输入:cygcheck -c cygwin号令,会打印出当前cygwin的版本和运行状况,若是status是ok的话,则cygwin运行正常。

    然后依次输入gcc –v,g++ --version,make –v,gdb –v进行测试,若是都打印出版本信息和一些描述信息,很是兴奋的告诉你,你的cygwin安装完成了!


3、设备NDK景象变量

1、 起首找到cygwin的安装目次,找到一个home<你的用户名>.bash_profile文件,我的是:D:cygwin/home/Administrator/.bash_profile,(重视:我安装的时辰我的home文件夹下面神马都没有,解决 的办法:起首打开景象变量,把里面的用户变量中的HOME变量删掉,在E:cygwin/home文件夹下建树名为Administrator的文件夹(是用户名),然后把D:cygwin/etc/skel/.bash_profile拷贝到该文件夹下)。

2、  打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android ndk 目次>例如:NDK=/cygdrive/e/android-ndk-r8

export NDK

NDK这个名字是随便取的,为了方面今后应用便利,选个简短的名字,然后保存

(人品不好的话,最后./build_native.sh时会提示please define NDK_ROOT 复制/etc/defaults/etc/skel/.bash_profile文件到/home/用户名/目录下(似乎是cygwin1.7.17-1的一个bug))



4、配置create-android-project.bat

   \cocos2d-2.0-x-2.0.3\create-android-project.bat


   1.修改为你的cygwin路径        例如:c:\cygwin\bin

   2.修改为你的android-sdk路径   例如:D:\android\android-sdk\tools

   3.修改为你的android-ndk路径  例如:D:\android\eclipse\android-ndk-r7


5、运行create-android-project.bat


根据提示 输入程序包名 程序名 选择android版本 就创建了hello android项目

   (人品不好的话,会提示你xcopy不是内部命令。 这个是C:\WINDOWS下的命令 查看它是否存在 存在的话就是设置path环境变量添加%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem; 不存在的话就下载一个放在D:\android\android-sdk\tools下)



6、项目加入到eclipse中

添加到eclipse后会报错 各种原因 其中

将\cocos2d-2.0-x-2.0.3\cocos2dx\platform\android\java\src下的代码拷到[你的项目]\proj.android\src里

7、运行./build_native.sh

打开cygwin,进入[你的项目]\proj.android\ 目录 ./build_native.sh生成.so文件

抱歉!评论已关闭.