张达棣原创,转载请注明转载地址:http://write.blog.csdn.net/postedit/8656977
今天成功完成在MAC下移植cocos2dx代码到android平台,故在此把过程记录下来,希望能帮到有缘人.
1.在mac下搭建起Eclipse的Android环境
eclipse的传送门:请点我 ,我下载的eclipse版本是Eclipse IDE for Java Developers安装好后打开eclipse
- 进入菜单中的 "帮助" -> "安装新软件",
- 点击添加...按钮,弹出对话框要求输入名称和位置:名称自己随便取,位置输入:http://dl-ssl.google.com/android/eclipse
- 确定后,在work with后的下拉列表中选择刚才添加的ADT,会看到下面出有Developer Tools,展开它会有Android DDMS和Android Development Tool,勾选他们,之后就是一直下一步的,不用多说的.
-
2.安装NDK
NDK下载下来直接解压就可以的, NDK传送门:请点我
3.配置cocos2d-x编译路径(重点哦)
我的相关路径如下:
- cocos2d-x :/Users/zdadi/cocos2d-2.0-x-2.0.4
- android SDK:/Users/zdadi/android-sdks
- android NDK: /Users/zdadi/android-ndk-r8d
开始配置路径 打开终端后输入以下命令显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool True
killall Finder
如右图 :
然后打开MAC的finder 进到用户根目录下用文本编辑器打开.bash_profile文件 再手动在文件中输入如下路径:
export ANDROID_SDK_ROOT=/Users/zdadi/android-sdks
export ANDROID_NDK_ROOT=/Users/zdadi/android-ndk-r8d
export COCOS2DX_ROOT=/Users/zdadi/cocos2d-2.0-x-2.0.4
export NDK_ROOT=$ANDROID_NDK_ROOT
export PATH=$PATH:$ANDROID_SDK_ROOT
export PATH=$PATH:$ANDROID_NDK_ROOT
路径最好不要有空格! 当然你也可以vim之类的工具打开
4.现在来编译自带的例子
打开cocos2dx源代码里的cocos2dx/platform/android/java/src/org/cocos2dx目录 如我的目在:/Users/zdadi/cocos2d-2.0-x-2.0.4/cocos2dx/platform/android/java/src/org/cocos2dx
然后拷贝此目录上的lib文件夹到cocos2dx源代码里的samples/HelloCpp/proj.android/src/org/cocos2dx目录下 如我的位置在: /Users/zdadi/cocos2d-2.0-x-2.0.4/samples/HelloCpp/proj.android/src/org/cocos2dx/lib
以后新建android项目都要拷贝一次,是不是觉得太麻烦,不用怕,下面有解决方法
打开终端
- 输入: cd $COCOS2DX_ROOT/samples/HelloCpp/proj.android 回车
- 输入: ./build_native.sh 回车
正常情况会进入编译,好下图
5.在android真机上跑起来 (模拟器不支持OpenGL 2.0)
编译成功后,打开Eclipse 导入刚刚的HellpCpp 过程如下图,不多说的,然后连上真机编译运行,如下图
6.自己手动建项目
(1)创建项目之前请先打开cocos2dx源代码里的template/android/copy_files.sh文件 ,我的文件路径:/Users/zdadi/cocos2d-2.0-x-2.0.4/template/android/copy_files.sh
在copy_files.sh让你说的里找到 copy_src_and_jni() {...},在里面添加 cp -rf $COCOSJAVALIB_ROOT/src $APP_DIR/proj.android 如下图
这样就不用每次都执行第4步的拷贝操作的
(2)再打开cocos2dx源代码里的template/android/gamemk.sh文件, 我的文件路径:/Users/zdadi/cocos2d-2.0-x-2.0.4/template/android/gamemk.sh
在文件下面 找到 LOCAL_C_INCLUDES 项 将其修改为以下代码:
LOCAL_C_INCLUDES := \$(LOCAL_PATH)/http://www.cnblogs.com/Classes \\
\$COCOS2D_ROOT/cocos2dx \\
\$COCOS2D_ROOT/cocos2dx/platform \\
\$COCOS2D_ROOT/cocos2dx/include \\
\$COCOS2D_ROOT/CocosDenshion/include
如下图:
LOCAL_C_INCLUDES := \$(LOCAL_PATH)/http://www.cnblogs.com/Classes \\
\$COCOS2D_ROOT/cocos2dx \\
\$COCOS2D_ROOT/cocos2dx/platform \\
\$COCOS2D_ROOT/cocos2dx/include \\
\$COCOS2D_ROOT/CocosDenshion/include
完成第一第二步之后,以后你建的cocos2dx项目就不用再放在cocos2dx源代码下的,移动到哪都可以,也不用每次创建新的android项目又重新配置一次Android.mk和build_native.sh, 当然你自己新建的其它类要配置下android.mk文件的
(3)打开终端
- 输入: cd $COCOS2DX_ROOT回车 (进入到cocos2dx源代码目录)
- 输入:./create-android-project.sh 回车(创建新的android项目)
然后依次按提示输入创建android项目所需的参数创好android项目后,其目录文件夹情况如下图