Mac 下配置 Cocos2d-x 3-x android 的环境
本人初学Cocos2d 3-x,环境配置,搭建android环境弄了好长时间,走了不少弯路,翻阅了好多人的博客和文档,包括官方文档讲的似乎有些似懂非懂,好多依然是旧的版本,所以把我的整个过程梳理一下。
一来可以对自己的一个总结
二来对有需要的可以相互借鉴和探讨。
Mac 上配置 cocos2d-x 3-x android 的环境
准备工具
Cocos2d-x 3-x (我用的是3.2)
sdk 和eclipse(下载adt即可,adt包含这两个)
JDK ,NDK
Apache Ant
1下载cocos2d-x ,我用的是3.2最新版本。
1下载cocos2d-x ,我用的是3.2最新版本。
地址:http://www.cocos2d-x.org/download
下载完成解压到自己想要的目录即可,非常简单(我放在了用户主目录下,并重新命名为coco2d文件夹)。
2 下载jdk
官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

选择同意协议后,下载即可。我下载的是mac 64 jdk -8u11
下载完成后点击安装,(jdk 是需要安装的)
如果安装成功在终端输入 java –version,会输出版本等信息

3 下载adt (其中包含sdk和eclipse两个文件,不需要安装)
官网下载地址,谷歌的东西,可能会出现下载特别慢,网页打不开,大家懂得。悲剧的谷歌啊
http://developer.android.com/sdk/index.html#download

一定要下载mac版的,如果官网实在下不下来可以用我的网盘地址
http://pan.baidu.com/s/1sj6UHm1
下载完成解压后,我把它解压在用户主目录下,并将文件重新命名为AndroidDev,即 ~/AndroidDev (文件夹下包含sdk 和eclipse两个文件)
(官网上这么做的,就这么做吧)。
4 下载ndk ,
官网地址
https://developer.android.com/tools/sdk/ndk/index.html
我用的ndk r9d,开始我下载的为最新的ndk r10,但后来发现在编译是一直报
Couldn't find the gcc toolchain
即gcc无法挂链,好像如果是ndk8也会出现这个问题。所以用ndk r9d比较保险,还是选择ndK r9d吧。
我的ndk9 网盘地址,供大家选择。
http://pan.baidu.com/s/1nt9eHGt
下载完成后,解压。我同样把ndk解压到了AndroidDev目录下。
4 下载Apahce ant
由于这东西需要添加到环境变量中,所以借助一个第三方软件,下载和添加环境变量都帮助我们做到了。软件叫homebrew。
打开终端拷贝命令,回车即可
|
1
|
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" |
这句命令就是在安装homebrew ,安装好后就可以用brew命令安装软件了
完成后,在终端输入
|
1
|
brew install ant |
即安装ant,会自动下载并安装
注(ant完成后在终端输入:ant –version会有版本信息输出,表示已经成功安装)。
至此前期软件基本下载和安装完成,搭建正式开始
5 进入下载的coco2d文件,我放到了用户主目录下,并重新命名为coco2d文件夹
打开终端输入
|
1
2
|
cd cocos2d python setup.py |
cocos2d 为自己下载的cocos2d-x 3-X文件路径。会出现如下,

即把刚才ndk r9d 路径添加上去,推着ndk的文件夹直接放入终端中最后在路径后面加上 “/ ”回车即可

然后提示你输入sdk的路径

同理把sdk的文件夹拖进去即可
原则上然后会提示你输入ant的路径,但由于是用homebrew安装的所以会自动添加上,然后复制带引号的部分,拷贝到下面回车即可

至此ndk ,sdk ,和ant三个环境变量已经添加完成,关闭终端。
(注用 pico .bash_profile命令可以看我们添加的环境变量,如果错误还可以在里面修改,control+x退出,输入Y保存,重启电脑。.bash_profile文件如下

6 现在开始创建项目
打开终端输入
|
1
|
cocos new hello –p com.my.MyGame –l cpp –d ~/projects |
命令的含义不再赘述,即创建了一个名称为hello的空工程,在用户主目录的projects文件夹下。

7 运行为安卓程序
方法一用终端terminal方式,插上手机,在终端输入
|
1
|
cocos run –s ~/projects/hello –p android |
会经过一段编译过程,编译完成后,会将程序刷到你的手机上

这种方式简单,但有很大的不足,如果我们想更改项目和发布自己的安卓项目就需要用到eclipse,所以用eclipse的方式是最常见,必须的一种方式
8 eclipse 配置
首先打开终端,进入新建hello项目的proj.android目录下
用python build_native.py进行native编译
命令依次为
|
1
2
|
cd projcets/hello/proj.android python build_native.py |

编译完后,打开adt下面的eclipse,
File-->New-->Project-->Android Project From Existing Code-->选择hello/proj.android目录-->Finish
第一步
查看eclipse的sdk是否正确
顶部ADT->preferences ->Android 右侧的sdk如果不正确或者为空,自己手动添加上去自己的sdk

第二步
打开项目,把coco2d的库文件引入,如果不引入src下的APPActivity.java上面是个叉号,选中src右键import-> Android Project From Existing Code浏览
hello/ cocos2d/cocos/ platform/android/java
如果是cocos2d 3.0的话,是这样的路径
hello/coco2d/cocos/2d/pltatform /android/java
导入java文件后叉号消失。
第三步
删除不必要的库文件
选中项目-->AndroidDependences右键->build path->remove from build path
如果没有AndroidDependences文件,则省去此步骤。
第四步
添加ndk
顶部ADT->preferences ->Android下的ndk ,如果为空,手动添加上自己的ndk

然后在
ADT->preferences ->c++->build ->environment
在右侧add 添加name 为:NDK_ROOT ,
value 为自己的ndk的路径:/Users/apple/AndroidDev/android-ndk-r9d

如果不进行此操作可能会出现
NDK_ROOT not defined. Please define NDK_ROOT in your environment的错误
9 生成apk文件
ADT->preferences->Android 下的build 右侧
把不生成apk的选项去掉,让它生成apk文件

如果eclipse没有安卓模拟器,可以新建一个不再赘述
插上手机,运行即可把程序刷到手机上。
全部弄好后,运行出现梦想中的build finished
在bin文件夹下会有hello.apk文件,可以自定义导出,不再赘述

至此所有的过程全部弄完了
其中走了不少弯路,但看到最后的succeed,是最大的安慰。
希望本文对其他后来者有些帮助,少走弯路。
自己摸索的过程是痛苦的,但看到成功的一刻,是最幸福的。
转载请注明地址:
http://my.oschina.net/u/1036620/blog/294322
Mac 下配置 Cocos2d-x 3-x android 的环境的更多相关文章
- mac下配置phonegap(cordova)5.1.1开发环境
眼下最新的cordova的版本号是5.1.1,在mac下搭建开发环境过程例如以下: 1)首先安装NODEJS环境 进入官网: http://nodejs.org/ .眼下的版本号: v0.12.7 点 ...
- Mac下配置cocos2dx2.2.6的Android环境
最近在学习cocos2dx在MAC上如何打包apk,今天先把安装JDK和ANT的过程记来. 首先,打开终端,输入”java -version” 点击回车后,出现如下提示: 我们的MAC上并没有安装过J ...
- MAC下配置gradle用eclipse 打包android程序
1.下载gradle binhttp://gradle.org/gradle-download/ 2.配置gradle,http://www.douban.com/note/311599602/htt ...
- ubuntu下配置JDK,Eclipse,android开发环境
前言:由于我的电脑是64位的,所以下面使用的jdk ; eclipse : 包括我安装的 ubuntu12.0.4LTS 都是64位的:如果你是32位请下载32位的系统以及jdk,eclipse等软件 ...
- Mac 下配置 adb 环境
使用 adb 命令可以很直接的观察你的应用 第一步 打开终端,敲入命令:sudo vi .bash_profile(如果有密码就为本机登录密码, 如果没有这个文件就会创建一个新的). 第二步 在文件中 ...
- 在Mac下配置php开发环境:Apache+php+MySql
/private/etc/apache2/httpd.conf 一.启动Apache sudo apachectl start sudo apachectl -v 可以查看到Apache的版本信息 ...
- iOS开发MAC下配置svn
版本控制对于团队合作显得尤为重要,那么如何在iOS开发中进行版本控制呢?在今天的博客中将会介绍如何在MAC下配置SVN服务器,如何导入我们的工程,如何在Xcode中进行工程的checkOut和Comm ...
- mac下配置openfire
下载 在浏览器中打开如下网址http://www.igniterealtime.org/downloads/index.jsp,根据你的操作系统选择对应的版本进行下载,这里我是在mac下配置的,所以选 ...
- Mac下配置idk
Mac下配置java #以下进入啰嗦模式演示添加jdk7 #下载jdk7的mac版 #官网下载地址http://www.oracle.com/technetwork/java/javase/downl ...
- CAS (1) —— Mac下配置CAS到Tomcat(服务端)(转)
tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas版本: cas4.1.2cas-client-3.4.1 参考来源: CAS实现单点登录(SSO)经典完整教 ...
随机推荐
- ZZULIoj 1912 小火山的爱情密码
Description 小火山获得了一个字符串,然而大火山让小火山从里面截取一段字符串,并且让小火山截取的字符串满足一些字符达到一定数量. 小火山觉得很容易,但是他想要知道他至少得截取多长的字符串. ...
- Luogu3195 [HNOI2008]玩具装箱TOY (方程变形 + 斜率优化 )
题意: 给出一个序列 {a[i]} 把其分成若干个区间,每个区间的价值为 W = (j − i + ∑ak(i<=k<=j) - L)2 ,求所有分割方案中价值之和的最小值. 细节: 仔 ...
- 原生js实现 table表格列宽拖拽
查看效果 <!DOCTYPE html> <html> <head> <meta charset="gbk"> <title& ...
- 在myeclipse中使用查找功能
1.全局搜索(快捷键:ctrl+H) 在弹出对话框中选File Search选项,然后在第一个文本框中粘贴(我一般用粘贴)或自已手动录入(容易写错)要查找的字符串(可以是英文字符也可以是汉字),在第二 ...
- struts2知识系统整理
1.MVC 和 JSP Model 2 ** a.:M-Model 模型 包含两部分:业务数据和业务处理逻辑 b.V-View 视图:视图(View)的职责是负责显示界面和用户交互(收集用户信息 ...
- nginx的简介和配置文件实例(一)
此文章配合 nginx配置文件解答 共同分享,了解. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务器 使用 Nginx 前必须了解的事项: 1)Nginx 本身只是一个 ...
- 如何解决 错误code signing is required for product type 'xxxxx' in SDK 'iOS 8.2'
如何解决 错误code signing is required for product type 'xxxxx' in SDK 'iOS 8.2' 大家在做真机调试的时候,或许会遇到这样的问题,那如何 ...
- RAD6.0+EJB+WEBSPHERE+JNDI转eclipse+TOMCAT7+JDK1.7+JNDI+SPRING修改总计
##########################1.去除ejb################################################################### ...
- 简单的webservice发布和测试
eclipse发布参考:http://www.cnblogs.com/cherxu/p/5179053.html很简单,接口写好后,打个war包放到tomcat里面跑起来: 本例采用axis来测试:发 ...
- uva 11997 优先队列
K Smallest Sums You're given k arrays, each array has k integers. There are kk ways to pick exactly ...