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)经典完整教 ...
随机推荐
- BZOJ 1831: [AHOI2008]逆序对
题目大意: 给出一个序列,有几个位置上的数字任意.求最小的逆序对数. 题解: 自己决定放置的数一定是单调不降的.不然把任意两个交换一下就能证明一定会增加逆序对. 然后就可以DP了,f[i][j]表示第 ...
- Knockout v3.4.0 中文版教程-8-计算监控-纯计算属性
4.纯计算属性 纯计算监控在KO 3.2.0中开始引入,比大多数应用程序使计算监控有更大的性能提升和内存优化.这是因为在自身没有订阅的时候不会保持订阅状态.特性如下 阻止内存泄露 - 避免在应用程序里 ...
- TOJ 4701 求阴影部分面积
4701: 求阴影部分面积 本文版权归BobHuang和博客园共有,不得转载.如想转载,请联系作者,并注明出处. Time Limit(Common/Java):1000MS/3000MS ...
- 快速排序php
<?php /** * Created by PhpStorm. * User: brady.wang * Date: 2017/11/10 * Time: 9:45 */ $arr=array ...
- BZOJ 1008: [HNOI2008]越狱【组合】
很少有的思路秒解.题意可以描述成对长度为n的格子有m种染色方案,问存在相邻两个格子同色的方案数,正难则反易,考虑问题的背面任意两个相邻的格子都不同色,第一个格子可以涂任意一种颜色m种可能,剩下的n-1 ...
- 刷题总结——宠物收养所(bzoj1208)
题目: Description 最近,阿Q开了一间宠物收养所.收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物.每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明 ...
- P2016 战略游戏 (树形DP)
题目描述 Bob喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的办法.现在他有个问题. 他要建立一个古城堡,城堡中的路形成一棵树.他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能 ...
- 【离散化树状数组】Nordic Collegiate Programming Contest G.Galactic Collegiate Programming Contest
#include<bits/stdc++.h> using namespace std; typedef long long ll; int n,m; ; struct node { in ...
- C++ 中的 C_str() 函数用法
转中转 ~\(≧▽≦)/~ :http://blog.csdn.net/nancy_m/article/details/7583550 语法: const char *c_str(); c_str() ...
- cf711E ZS and The Birthday Paradox
ZS the Coder has recently found an interesting concept called the Birthday Paradox. It states that g ...