我应用的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)。
因为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安装完成了!
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))
\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
根据提示 输入程序包名 程序名 选择android版本 就创建了hello android项目
(人品不好的话,会提示你xcopy不是内部命令。 这个是C:\WINDOWS下的命令 查看它是否存在 存在的话就是设置path环境变量添加%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem; 不存在的话就下载一个放在D:\android\android-sdk\tools下)
添加到eclipse后会报错 各种原因 其中
将\cocos2d-2.0-x-2.0.3\cocos2dx\platform\android\java\src下的代码拷到[你的项目]\proj.android\src里
打开cygwin,进入[你的项目]\proj.android\ 目录 ./build_native.sh生成.so文件
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。