Cocos2d-x3.0Android编译

转载自:http://blog.csdn.net/qqmcy/article/details/23909515

cocos2d升级到3.0RC2了,发现Android编译似乎以前容易很多。这里记录下实现过程防止以后遗忘。

一、前期准备  

1、ADT:百度下就OK

2、NDK:百度下就OK

3、ANT:http://124.254.47.39/download/55152992/78533365/4/zip/57/132/1388364864569_644/apache-ant-1.9.3-bin.zip  我用的是这个


3.1用了很多python脚本来做环境设置,工程创建,自动化工作。这里只写MAC下的环境配置。


  下载3.1的代码,解压到你的工作目录即可。执行setup.py脚本,这个脚本是用来设置相关环境变量的。我的MAC环境,这个脚本会将我home下的.bash_profile文件备份,然后复制一份,加入几个环境变量

1.COCOS_CONSOLE_ROOT,这个是一个控制台工具,用来部署游戏的,看文档是说可以直接部署到机器上,不过目前貌似还没有完成。

2.NDK_ROOT,这个用来编译android的native代码,谷歌的东西。

3.ANDROID_SDK_ROOT,这个android应用开发sdk,用来创建安卓应用。

4.ANT_ROOT,ant编译工具,构建安卓工程,编译,打包输出apk



4、cocos2d3.0RC2的压缩包,去官网下没什么好说的。

二、创建工程


找到2dx的解压后的文件夹

打开终端 输入  当然下面的路径要换成你自己

cd /Users/tokou/WORK/5-Cocos2dx/cocos2d-x-3.0rc2 

./setup.py

之后就是配置ADT、NDK、ANT了。配置好之后

在终端输入:这是进入创建工程脚本的文件夹

[python]  view plain copy print ?
  1. cd /Users/tokou/WORK/5-Cocos2dx/cocos2d-x-3.0rc2/tools/cocos2d-console/bin   

之后输入: home 是你想把工程放在哪个路径下

[python]  view plain copy print ?
  1. cocos new Test123 -p com.Test.Test123 -l cpp -d /Users/tokou/WORK/5-Cocos2dx/Project  

成功会出现如下:

[python]  view plain copy print ?
  1. Runing command: new  
  2. > Copy template into /Users/tokou/WORK/5-Cocos2dx/Project/Test123  
  3. > Copying cocos2d-x files...  
  4. > Rename project name from 'HelloCpp' to 'Test123'  
  5. > Replace the project name from 'HelloCpp' to 'Test123'  
  6. > Replace the project package name from 'org.cocos2dx.hellocpp' to 'com.Test.Test123'  

接下来我们进入新建工程的目录下编译Android工程

在终端输入:  下面的路径要换成你们自己的

[python]  view plain copy print ?
  1. cd /Users/tokou/WORK/5-Cocos2dx/Project/Test123  

之后输入:

[python]  view plain copy print ?
  1. cocos run -p android -j 4  


出现:

[python]  view plain copy print ?
  1. running: '/Users/tokou/WORK/Android/adt-bundle-mac-x86_64-20130917/sdk/platform-tools/adb install "/Users/tokou/WORK/5-Cocos2dx/Project/Test123/bin/debug/android/Test123-debug-unaligned.apk"'  
  2.   
  3. 6450 KB/s (2367192 bytes in 0.358s)  
  4.     pkg: /data/local/tmp/Test123-debug-unaligned.apk  
  5. Success  
  6. Runing command: run  
  7. starting application  
  8. running: '/Users/tokou/WORK/Android/adt-bundle-mac-x86_64-20130917/sdk/platform-tools/adb shell am start -n "com.Test.Test123/org.cocos2dx.cpp.AppActivity"'  
  9.   
  10. Starting: Intent { cmp=com.Test.Test123/org.cocos2dx.cpp.AppActivity }  




这样Android的工程就编译完成了。

我们可以用ADT打开它,也可以直接安装APK

APK在:

/Users/tokou/WORK/5-Cocos2dx/Project/Test123/bin/debug/android/Test123-debug-unaligned.apk


用ADT打开:

1、


2、



3、



4、我们会发现如下问题:

[java]  view plain copy print ?
  1. org.cocos2dx.lib报错  
  2. import org.cocos2dx.lib.Cocos2dxActivity;  
  3.   
  4. public class AppActivity extends Cocos2dxActivity {  
  5. }  

我们来解决这个问题:

1、



2、





这样就OK了。


模拟器运行图:



补充如果项目中用到了。

#include "extensions/cocos-ext.h"

类似这种头文件的控件

需要在位于proj.android/jni下   Android.mk这个文件中添加如下

[python]  view plain copy print ?
  1. LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static  
  2. LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static  
  3. LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static  
  4. LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static  
  5.   
  6.   
  7. include $(BUILD_SHARED_LIBRARY)  
  8.   
  9. $(call import-module,2d)  
  10. $(call import-module,audio/android)  
  11. $(call import-module,Box2D)  
  12. $(call import-module,extensions)   

补充2014.5.5

如果在工程中使用了:

#include "ui/CocosGUI.h"  头文件 需要在上面的文件中添加如下代码

  1. LOCAL_WHOLE_STATIC_LIBRARIES += ui_CocosGUI_static  
  2. LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static  

  1. $(call import-module,ui)  
  2. $(call import-module,editor-support/cocostudio)  

补充2014.5.5晚10.47

使用头文件

  1. #include "network/HttpClient.h"  

需要在Android.mk文件中

  1. LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static  

  1. $(call import-module,network
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值