参照链接http://blog.csdn.net/wonengxing/article/details/23601359
~~~~我的生活,我的点点滴滴!!
一. Android工具安装
1. JDK安装
JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 由于这是官网,如果上不去或者下载慢,
可以自行百度或google下载,我反正是下载的最新的,管他了
如果你c盘大,那就默认安装吧,我由于c盘不够了,所以我装在d盘了D:\Program Files\Java\jdk1.8.0
设置环境变量
设置环境变量
然后在path中添加如下代码 %ANDROID_SDK_ROOT%\tools;%ANDROID_SDK_ROOT%\platform-tools;
一个是adb 的路径 一个是emulator 模拟器的路径,注意添加英文分号隔开
3. 下载Android NDK
下载地址是:http://developer.android.com/tools/sdk/ndk/index.html
同样有32位和64位版可选,我选择的是32位版的,把它解压到adt同目录下,现在adt的目录结构如下:
--<adt-bundle-windows-x86>
--<eclipse>
--<sdk>
--<android-ndk-r8e>
--SDK Manager.exe
设置环境变量
在path中添加 %NDK_ROOT%;
4. 下载ANT
ANT是为了自动构建Android程序用。
下载地址是:http://ant.apache.org/bindownload.cgi
我选择的是:apache-ant-1.9.4-bin.zip,同样解压到adt目录下,现在adt的目录结构如下:
--<adt-bundle-windows-x86>
--<eclipse>
--<sdk>
--<android-ndk-r9d>
--<apache-ant-1.9.4>
--SDK Manager.exe
看清楚了,我的ant直接设置到bin目录下,所以在path中依然只需要添加 %ANT_ROOT%;
5. 下载Python
原来cocos2dx在不同平台下必须用不同的脚本来创建和构建工程,3.0以后都统一用python了,所以Windows下需要安装python环境:
下载地址:https://www.python.org/ftp/python/2.7.3/python-2.7.3.msi
原来下载了最新的版本,使用setup.py的时候发现有语法错误,所以最好使用2.7.3版本,亲测过没有问题
配置环境变量:最新版本可以自动加进path环境变量,但2.7.3不行,所以我们只能自己设置一下,假设我的Python安装在:d:\Python27\
把这个路径加到path环境变量中,当我们在cmd下输入python,出现下面字样,就说明环境变量设置正确了:
C:\Users\arlin>python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
1. 下载cocos2d-x
目前最新版本是3.0,下载地址是:http://www.cocos2d-x.org/download/version#Cocos2d-x
下载完解压到一个地方,我这里:E:\cocos2dx3.0\cocos2d-x-3.0\cocos2d-x-3.0
2. 设置环境变量
cc需要下面几个环境变量,用于后面的新建工程,构建工程等:
COCOS_CONSOLE_ROOT: cocos控制台路径,控制台用于新建,构建,发行工程。
在环境变量用户区中添加下面几个
NDK_ROOT: NDK根目录
ANDROID_SDK_ROOT: SDK根目录
ANT_ROOT: ANT根目录
然后运行cocos2d-x根目录下的setup.py来配置,如果前面已经把那几项填写正确了,下面会一次就过,
如果没有填写,下面会给出要填写这几项的提示,然后输入就OK了,如果出现下面几行表示成功了
Please restart the terminal or restart computer to make added system variables t
ake effect
命令最后提示我们重启终端或者重启系统,以让这些环境变量生效,一般我们关闭cmd和资源浏览器就行了,如果后面遇到环境变量找不到的错误,
直接重启系统试试吧。
要测试环境变量是否生效,重新打开cmd,输入下面命令查看,正常应该是这样:
E:\cocos2dx3.0\cocos2d-x-3.0\cocos2d-x-3.0>set NDK_ROOT
NDK_ROOT=d:\adt-bundle-windows-x86\android-ndk-r9d
E:\cocos2dx3.0\cocos2d-x-3.0\cocos2d-x-3.0>set ANT_ROOT
ANT_ROOT=d:\adt-bundle-windows-x86\apache-ant-1.9.4\bin
E:\cocos2dx3.0\cocos2d-x-3.0\cocos2d-x-3.0>set ANDROID_SDK_ROOT
ANDROID_SDK_ROOT=D:\adt-bundle-windows-x86\sdk
E:\cocos2dx3.0\cocos2d-x-3.0\cocos2d-x-3.0>set COCOS_CONSOLE_ROOT
COCOS_CONSOLE_ROOT=F:\cocos2dx\cocos2d-x-3.0rc0\tools/cocos2d-console/bin
OK,到这里,环境就已经配好了,下面来创建项目!
3.新建和构建工程
1. 新建工程
我们要用tools\cocos2d-console这个工具来新建工程,这个工具提供了下面几个功能:
new 创建一个新的工程
compile 编译当前工程,生成二进制文件,个人觉得写为build更贴切一些。
deploy 发布程序到一个平台
run 编译和发布,和运行程序
我们现在只用到new,让我们看看new提供了哪些参数,打到cmd,输入:
cocos new --help
这里自己去看,我直接给出创建工程的方法
cocos new 自己项目名 -p 包名 -l cpp(表示创建c++) -d E:\cocosProject(项目存的路径)
下面给出一个bat文件,只要双击就行了。
@echo off echo ===========新建项目========= set /p name=请输入项目的名称: echo 项目名为: %name% echo 正在创建新项目... set pk=com.hzf. cocos new %name% -p %pk%%name% -l cpp -d E:\cocosProject echo 创建完成 pausetp:如果直接复制运行时报错,可以手动敲一遍。
可以看到各种平台下的工程都创建出来了,同时它把cocos2d整个框架都拷贝过来了,这种好坏就见仁见智了,但是可以肯定一点,
那就是第一次编译时会很慢,因为要把所有重新编译一遍,所以没事千万不要重新生成!!切住(血的教训)
同时是用到cocos2d-console,这里要用的是compile这个命令,在cmd输入下面查看帮助:
E:\cocosProject\mbgame\mygame1>cocos compile --help
-h, --help 显示帮助信息
-s SRC_DIR, --src SRC_DIR
工程根目录,比如上面应该是E:\cocosProject\mbgame\mygame1
如果不设,就为当前目录(cmd定位到的那个目录)
-q, --quiet less output
-p PLATFORM, --platform PLATFORM
选择一个平台 android|ios|mac|web|win32|linux
-m MODE, --mode MODE 编译模式 debug|release, 默认为debug.
-j JOBS, --jobs JOBS 半行编译,如果你有2核,可以设为2。
Android Options:
--ap ANDROID_PLATFORM
指定SDK版本?没试过,不敢枉下定论,保留英文:
parameter for android-update.Without the parameter,the
script just build dynamic library for project. Valid
android-platform are:[10|11|12|13|14|15|16|17|18|19]
Web Options:
--source-map Enable source-map
现在我们在cmd输入:
E:\cocosProject\mbgame\mygame1>cocos compile -p android -j 2
意思就是说我们要编译当前目录下的Android工程,同时可以有4个编译任务,所以我的4核机器就满负的跑了,如无意外,应该可以看到编译开始了,最后如果看到下面这几句,说明编译成功:
BUILD SUCCESSFUL
Total time: 17 seconds
Move apk to E:\cocosProject\mbgame\mygame1\bin\debug\android
build succeeded.
我把它安装到手机上试跑,发现好像启动速度是快了很多,不知是不是心理作用。
三.在Eclipse下运行程序
还记得我们下的adt里面有eclipse吗,现在我们就来把工程导入到eclipse跑跑看
1. 到d:\adt-bundle-windows-x86\eclipse打到eclipse.exe
第一次会提示设置工作区,你可以设置工作区放在哪里,我这里为了演示就默认了。
2.接下来我们要看看SDK和NDK的路径是否正确:
选择Windwos/Preferences菜单项,打开选项对话框。
选择Android结点,看看SDK Location是否正确,我这里为F:\software\adt-bundle-windows-x86-20131030\sdk,说明是正确的,如果没有值,就手动把SDK的根目录设进去。
接着选择Android/NDK结点,在NDK Location输入d:\adt-bundle-windows-x86\android-ndk-r8e
3.接下来我们来导入工程,选择file/import,打开导入对话框:
选择Android/Existing Android Code Into Workspace,然后Next。
第一步要先把libcocos2dx导进来:
在Root Directory输入F:\cocos2dx\mbgame\mygame1\cocos2d\cocos\2d\platform\android\java
此时列出libcocos2dx工程,点击finish把工程导进来。
第二步导入我们的工程:
在Root Directory输入F:\cocos2dx\mbgame\mygame1\proj.android。
此时会列出mygame1工程,点击finish把工程导进来。
最后连接手机,选择运行或调试就可以跑程序了。
在导入工程到Eclipse时遇到几个坑,在这里记下来,免得后面的人继续踩这些坑:
没有导libcocos2dx,只导mygame1时不会有编译错误,但跑起来后会ClassNotFound异常,说找不到org/cocos2dx/lib/Cocos2dxHelper类,这个问题搞了我好久,后来在论坛看到贴子才明白,希望后续官方有详细的文档。
因为adt只包含了android4.4(api-19)的版本,所以默认使用的是这个版本,我自己拷了几个更低的版本,然后把Build target设为android2.3(api-9),此时运行程序会提示下面错误:
Unable to execute dex: java.nio.BufferOverflowException
后来在网上查了一下,发现是Android SDK Build tools的BUG,把它升级到19.0.3后就好了:打开SDK Manager,找到19.0.3的Android SDK Build Tools,安装之。