设为首页 收藏本站
查看: 839|回复: 0

[经验分享] 搭建Mac OS X下cocos2d-x的Android开发环境

[复制链接]

尚未签到

发表于 2015-12-30 15:08:28 | 显示全部楼层 |阅读模式
版本


  • Cocos2d-x: cocos2d-2.1beta3-x-2.1.1
  • OS X: 10.8
  • Android ADT Bundle: v21.1.0
  • Android NDK: android-ndk-r8d
  • Device: Android 4.2.1
    这次我们测试的设备安装的是Android4.2.1, Cocos2d-x能支持Android2.2以上版本.

文件路径:


  • Cocos2d-x: /opt/cocos2d-2.1beta3-x-2.1.1
  • Android ADT Bundle: /opt/adt-bundle-mac-x86_64
  • Android NDK: /opt/android-ndk
    下文中提及的这些路径, 请替换成您自己的路径

下载最新版本Cocos2d-x
  您可以在Cocos2d-x官网找到下载页面  
解压后到您需要的位置, 本文假设解压到以下位置




1


/opt/cocos2d-2.1beta3-x-2.1.1

检查JDK
  在终端中输入




1


java -version

  如果您没有安装JDK, 系统会帮您自动安装JDK.
DSC0000.png
安装过后您会看到如下输出




1
2
3


java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)


下载最新版本Android ADT Bundle
  Google将Android SDK, Eclipse, ADT(Android Developer Tools)打包在一起,称作Android ADT Bundle, 简化了Android开发环境的搭建.
您可以在Android官网找到下载页面  
解压到您需要的位置, 本文假设解压到以下位置




1


/opt/adt-bundle-mac-x86_64

  在终端中运行下面命令, 将ADT中的Eclipse放入您的程序文件夹, 方便启动




1


ln -s /opt/adt-bundle-mac-x86_64/eclipse/Eclipse.app/ /Applications/Eclipse-ADT.app

  在/Applications中或者Launchpad中找到并打开Eclipse-ADT DSC0001.png

Eclipse的Retina支持
  如果您在使用带Retina的Mackbook Pro, Eclipse暂时还不支持Retina. 但有一个简单的解决方案


  • 在 /opt/adt-bundle-mac-x86_64/eclipse 找到 Eclipse.app
  • 编辑Contents/Info.plist
  • 找到




1
2


</dict>
</plist>

  在其上面添加




1
2


<key>NSHighResolutionCapable</key>
<true/>



  • 将Eclipse.app移动到新的文件夹, 然后再移动回来. (防止系统缓存了上面提及的Info.plist)
  • OK啦.

Android SDK Manager
  Android ADT Bundle中是包含了Android SDK Manager的. 启动您的Eclipse-ADT. 可以在工具栏中或者菜单中找到Android SDK Manager.
DSC0002.png   
DSC0003.png

Android NDK
  您可以在Android官网找到Android的下载页面  
下载后解压到您需要的位置, 本文假设解压到以下位置




1


/opt/android-ndk


设置环境变量
  我们需要将SDK, NDK以及Cocos2d-x的路径中添加到环境变量中. 将以下内容添加到~/.bash_profile文件




1
2
3
4
5
6


export COCOS2DX_ROOT=/opt/cocos2d-2.1beta3-x-2.1.1
export ANDROID_SDK_ROOT=/opt/adt-bundle-mac-x86_64/sdk
export ANDROID_NDK_ROOT=/opt/android-ndk
export NDK_ROOT=/opt/android-ndk
export PATH=$PATH:$ANDROID_NDK_ROOT
export PATH=$PATH:$ANDROID_SDK_ROOT


HelloWorld
  万事俱备, 我们现在就可以开始激动人心的Cocos2d-x之旅了.
打开终端, 进入cocos2d-x所在目录并执行 /opt/cocos2d-2.1beta3-x-2.1.1/create-android-project.sh文件  
根据提示输入对应信息.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29


Youngs-MacBook-Air:~ young40$ cd /opt/cocos2d-2.1beta3-x-2.1.1/
Youngs-MacBook-Air:cocos2d-2.1beta3-x-2.1.1 young40$ ./create-android-project.sh
use global definition of NDK_ROOT: /opt/android-ndk
use global definition of ANDROID_SDK_ROOT: /opt/adt-bundle-mac-x86_64/sdk
Input package path. For example: org.cocos2dx.example
com.young40.test  //这里输入了包名
Now cocos2d-x supports Android 2.2 or upper version
Available Android targets:
----------
id: 1 or "android-17"
     Name: Android 4.2
     Type: Platform
     API level: 17
     Revision: 1
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
     ABIs : armeabi-v7a
input target id:
1 //选择您需要的平台id
input your project name:
HelloWorld  //输入项目名称
Created project directory: /opt/cocos2d-2.1beta3-x-2.1.1/HelloWorld/proj.android
.....
Updated project.properties
Updated local.properties
Updated file /opt/cocos2d-2.1beta3-x-2.1.1/HelloWorld/proj.android/proguard-project.txt
Youngs-MacBook-Air:cocos2d-2.1beta3-x-2.1.1 young40$

  从以上输出我们可以看到create-android-project.sh这个脚本帮我们在 /opt/cocos2d-2.1beta3-x-2.1.1/HelloWorld 下建立了新项目.
  然后我们可以先在终端中调用”build_native.sh”脚本编译该项目的C++部分.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17


Youngs-MacBook-Air:~ young40$ cd /opt/cocos2d-2.1beta3-x-2.1.1/HelloWorld/proj.android/
Youngs-MacBook-Air:proj.android young40$ ./build_native.sh
NDK_ROOT = /opt/android-ndk
COCOS2DX_ROOT = /opt/cocos2d-2.1beta3-x-2.1.1/HelloWorld/proj.android/../..
APP_ROOT = /opt/cocos2d-2.1beta3-x-2.1.1/HelloWorld/proj.android/..
APP_ANDROID_ROOT = /opt/cocos2d-2.1beta3-x-2.1.1/HelloWorld/proj.android
Using prebuilt externals
make: Entering directory `/opt/cocos2d-2.1beta3-x-2.1.1/HelloWorld/proj.android'
.....
StaticLibrary  : libchipmunk.a
StaticLibrary  : libextension.a
SharedLibrary  : libgame.so
Install        : libgame.so => libs/armeabi/libgame.so
make: Leaving directory `/opt/cocos2d-2.1beta3-x-2.1.1/HelloWorld/proj.android'
Youngs-MacBook-Air:proj.android young40$


导入Eclipse-ADT
  打开Eclipse-ADT, 点击快捷键command+N打开新建项目窗口并选择Android Project from Existing Code
DSC0004.png   
DSC0005.png   
这时您可能会在eclipse的Problems窗口看到如下错误




1
2
3


The import org.cocos2dx.lib cannot be resolved HelloWorld.java /HelloWorld/src/com/young40/test    line 26 Java Problem
Cocos2dxActivity cannot be resolved to a type    HelloWorld.java  /HelloWorld/src/com/young40/test    line 30 Java Problem
Cocos2dxActivity cannot be resolved to a type    HelloWorld.java  /HelloWorld/src/com/young40/test    line 33 Java Problem

  您需要将/opt/cocos2d-2.1beta3-x-2.1.1/cocos2dx/platform/android/java如上面处理一样也作为一个项目导入eclipse中
然后在HelloWorld项目上点击右键选择刷新, 可以看到错误就消失了.
  将您的手机设置成调试模式并用USB线连接到电脑, 在Eclipse中运行HelloWorld, 然后就能在手机上看到已经运行的HelloWorld了  
DSC0006.png
  好了, 享受您的奇妙的Cocos2d-x之旅吧!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-158520-1-1.html 上篇帖子: MAC OS Nginx php-fpm相关 下篇帖子: 解决Mac OS Adobe Flash Builder 4.7 java heap space 问题【转】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表