[Cocos2D-X]NDK环境配置+交叉编译Android项目
2013-07-29 17:55
232 查看
1.安装和配置Android的NDK工具
1.下载最新版本的Android NDK:http://developer.android.com/tools/sdk/ndk/index.html2.解压NDK压缩包,注意解压路径不要带空格,如不要放在“Program Files”下
3.在cygwin的安装目录下(如何安装cygwin),找到home文件里,里面会有一个对应以你登录名命名的文件夹,里面有一个.bash_profile文件。
打开.bash_profile,注意不要使用windows自带的记事本打开,推荐使用UltraEdit,在文件的最后添加NDK解压后的相对路径
我放在C:\cygwin\android-ndk-r8e-windows-x86_64\android-ndk-r8e下),所以输入如下
NDK_ROOT=/android-ndk-r8e-windows-x86_64/android-ndk-r8e
export NDK_ROOT
4.验证
用安装好的NDK来编译一个NDK提供的sample程序hello-jni(我的目录是C:\cygwin\android-ndk-r8e-windows-x86_64\android-ndk-r8e\samples\hello-jni)
(1)运行cygwin,输入命令 cd /cygdrive/c/cygwin/android-ndk-r8e-windows-x86_64/android-ndk-r8e/samples/hello-jni,进入“hello-jni”工程目录
(2)编译,输入命令 $NDK_ROOT/ndk-build命令即可编译。ndk-build是调用ndk的编译程序。
(3)到”…/hello-jni/libs/armeabi“目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!
5.注意:
环境变量的名称我设置的是NDK_ROOT,而不是NDK,和网上很多人不一样。
所以在输入命令时是$NDK_ROOT/ndk-build
2.在eclipse下配置环境
1.安装eclipse相应插件ADT+CDT首先打开eclipse,选择Help->Install New Software
、
2.配置Android SDK
在eclipse,选择Window->Preferences->Android->NDK,在弹出的对话框中输入NDK压缩后的路径
3.交叉编译Cocos2D-X——从win32到Android
1.首先进入cocos2d-x-2.1.4根目录下,配置create-android-project.bat,配置如下三个地方:注意:
1)不要用windows自带的记事本编辑该文本,推荐使用UltraEdit
2)_CYGBIN:配置cygwin安装的bin目录
_ANDROIDTOOL:配置AndroidSDK目录Tools目录
_NDKROOT:配置NDK解压后的目录
3)上述目录的路径中都不要带空格(如“Program Files”)
2.create-android-project.bat配置成功后,双击运行:
按照实例,首先输入项目的包名:例如——com.flyaway.sandart
接着输入项目名:例如——SandArt
最后选择Android API的版本ID:
这里我选择13,Android API17
如果出现如下错误:
则,请以管理员身份运行create-android-project.bat
最终成功后:
并且在cocos2d-x-2.1.4根目录下有一个新建的项目叫SandArt
3.编译新建的Android项目
分别进入刚刚新建成功的Android项目的pro.Android(及其下Jni等)、classes和resources文件夹下,修改如下文件的权限(如何修改权限)
1)E:\cocos2d-x-2.1.4\cocos2d-x-2.1.4\SandArt\proj.android下的AndroidManifest.xml文件
2)E:\cocos2d-x-2.1.4\cocos2d-x-2.1.4\SandArt\proj.android\jni下的Android.MK和Application.MK文件
3)E:\cocos2d-x-2.1.4\cocos2d-x-2.1.4\SandArt\proj.android\jni\hellocpp下的main.cpp
4)E:\cocos2d-x-2.1.4\cocos2d-x-2.1.4\SandArt\Classes下的所以文件
5)E:\cocos2d-x-2.1.4\cocos2d-x-2.1.4\SandArt\Resources下的所以文件
这种改权限的办法很不科学,如果有读者有更好发方法,望分享·~
4.终于修改好权限之后,可以开始编译Android项目啦~
运行cygwin终端,进入刚刚新建的Android项目下的pro.android文件夹,并输入命令./build_native.sh
之后,我们就等着它慢慢编译吧~~
成功之后,会生成libgame.so
4.在Eclipse上运行Android项目
1.打开eclipse,新建一个Android项目,from existing code2.next之后,选择E:\cocos2d-x-2.1.4\cocos2d-x-2.1.4\SandArt\proj.android路径,finish
3.之后可以看到新导入的项目有两处错误:
(1)首先打开AndroidManifest.xml文件,发现如下错误:
把icon改为ic_launcher即可,如下
(2)第二个错误是由于org.cocos2dx是空的,只需要将cocos2d-x-2.1.4根目录的cocos2dx/platform/android/java/src文件夹下文件夹全部复制到项目的src包下即可。
当然,每次要复制很麻烦,某位网友还推荐了一个一劳永逸的方法。
进入E:\cocos2d-x-2.1.4\cocos2d-x-2.1.4\template\android目录,打开copy_files.sh,找到copy_src_and_jni()函数,添加如下代码
以后,就不会遇到这个错误了(不过在win7和win8系统下需要打开一下E:\cocos2d-x-2.1.4\cocos2d-x- 2.1.4\你所建的项目名\proj.android\src\org\cocos2dx才能读到,还是因为权限问题)。
4.把项目运行到手机上(真机调试),你就可以看到经典的Cocos2D-X的hello world啦~~
本文不详尽或错误之处,请各位不吝言辞,多多指教~谢谢~
作者:Louise http://blog.csdn.net/yupingliu
相关文章推荐
- Mac上配置Android开发环境并把Cocos2d-x项目编译到Android
- cocos2d-x 笔记(一) win32环境配置以及eclipse+ndk+sdk+cygwin的android移植
- Cocos2D-X 项目发布到Android平台(二)配置安装Android SDK、NDK 及其相关工具
- eclipse配置 android开发环境 adt sdk ndk 及cocos2d-x
- cocos2d-x-3.xWindows下的环境搭建,包括Android项目的配置
- Mac下 Xcode5+,cocos2d-x2.2(或者cocos2d-x2.1.5)Android,eclipse(2013 September版本)跨平台环境配置以及创建跨平台项目
- cocos2d_x环境搭建过程和Android编译环境配置和项目创建运行过程
- cocos2d-x ndk android 环境配置
- Mac下 Xcode4.6.3,cocos2d-x2.2(或者cocos2d-x2.1.5)Android,eclipse(2013 September版本)跨平台环境配置以及创建跨平台项目
- cocos2d-x android项目环境配置粗略小结
- win7下配置Cocos2d-x for Android(Eclipse)项目和开发环境
- cocos2d-x - android 学习(集成NDK、配置开发环境)
- Mac上配置Android开发环境并把Cocos2d-x项目编译到Andro
- Cocos2d-x Android开发环境的配置之二 :创建一个项目并部署在手机上
- Mac上配置Android开发环境并把Cocos2d-x项目编译到Android
- cocos2d-x 2.0.1生成android项目后用ndk交叉编译出错
- cocos2d-x 3.0 bata for android环境配置
- Android新版NDK环境配置(免Cygwin)
- Android新版NDK环境配置(免Cygwin)
- Eclipse下Android的NDK开发环境配置