安装工具


1. 配置JDK

本人的系统是Win7 64位版,但安装的是JDK7,Windows X86版。
如果安装文件夹在:C:\Program Files (x86)\Java\jdk1.7.0_21;当然也能够是其它地方
  • 环境变量设置:
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_21
CLASSPATH=.;%JAVA_HOME%\lib;
Path添加%JAVA_HOME%\bin;

本文如果你知道怎么环境变量设置,如果不知道,请使用搜索引擎查找相关资料,设置完后打开cmd,输入java -version
假设出现以下提示,表明设置环境变量成功:
C:\Users\arlin>java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) Client VM (build 23.21-b01, mixed mode, sharing)

2. 下载Android SDK

Google为Android开发人员提供了ADT(Android Developer Tools),里面包括了SDK和Eclipse。

能够选择32位或64位版本号,我选择的是32位版的,把它解压到一个文件夹,我这里是:d:\adt-bundle-windows-x86\,文件夹结构例如以下:
--<adt-bundle-windows-x86>
  --<eclipse>
  --<sdk>
  --SDK Manager.exe

3. 下载Android NDK

相同有32位和64位版可选,我选择的是32位版的,把它解压到adt同文件夹下,如今adt的文件夹结构例如以下:
--<adt-bundle-windows-x86>
  --<eclipse>
  --<sdk>
  --<android-ndk-r8e>
  --SDK Manager.exe

4. 下载ANT

ANT是为了自己主动构建Android程序用。
我选择的是:apache-ant-1.9.3-bin.zip,相同解压到adt文件夹下,如今adt的文件夹结构例如以下:
--<adt-bundle-windows-x86>
  --<eclipse>
  --<sdk>
  --<android-ndk-r8e>
  --<apache-ant-1.9.3>
  --SDK Manager.exe

5. 下载Python

  • 原来cocos2dx在不同平台下必须用不同的脚本来创建和构建project,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
Type "help", "copyright", "credits" or "license" for more information.
>>> 

cocos2d-x下载与配置


1. 下载cocos2d-x

眼下最新版本号是3.0RC,下载地址是:http://cocostudio.download.appget.cn/Cocos2D-X/3.0RC0/cocos2d-x-3.0rc0.zip
下载完解压到一个地方,我这里:f:\cocos2dx\cocos2d-x-3.0rc0\

2. 环境变量设置

cc须要以下几个环境变量,用于后面的新建project,构建project等:

  • COCOS_CONSOLE_ROOT: cocos控制台路径,控制台用于新建,构建,发行project。
  • NDK_ROOT: NDK根文件夹
  • ANDROID_SDK_ROOT: SDK根文件夹
  • ANT_ROOT: ANT根文件夹
这几个环境变量是通过cocos2d-x根文件夹下的setup.py来配置的,我们启动cmd,执行setup.py:
F:\cocos2dx\cocos2d-x-3.0rc0>setup.py


此时脚本须要我们提供NDK,SDK,ANT的路径,我们依据之前放的路径输入就是了,整个命令步骤例如以下:
Setting up cocos2d-x...


-> Adding COCOS2D_CONSOLE_ROOT environment variable... OK
  -> Added: COCOS_CONSOLE_ROOT = F:\cocos2dx\cocos2d-x-3.0rc0\tools/cocos2d-cons
ole/bin


-> Looking for NDK_ROOT envrironment variable... NOT FOUND
        Please enter its path (or press Enter to skip): d:\adt-bundle-windows-x8
6\android-ndk-r8e
ADDED
  -- Added: NDK_ROOT = d:\adt-bundle-windows-x86\android-ndk-r8e


-> Looking for ANDROID_SDK_ROOT envrironment variable... NOT FOUND
        Please enter its path (or press Enter to skip): D:\adt-bundle-windows-x8
6\sdk
ADDED
  -> Added: ANDROID_SDK_ROOT = D:\adt-bundle-windows-x86\sdk


-> Looking for ANT_ROOT envrironment variable... NOT FOUND
        Please enter its path (or press Enter to skip): d:\adt-bundle-windows-x8
6\apache-ant-1.9.3\bin
ADDED
  -> Added: ANT_ROOT = d:\adt-bundle-windows-x86\apache-ant-1.9.3\bin


Set up successfull:
        COCOS_CONSOLE_ROOT was added into registry
        NDK_ROOT was added into registry
        ANDROID_SDK_ROOT was added into registry
        ANT_ROOT was added into registry


Please restart the terminal or restart computer to make added system variables t
ake effect

命令最后提示我们重新启动终端或者重新启动系统,以让这些环境变量生效,一般我们关闭cmd和资源浏览器即可了,假设后面遇到环境变量找不到的错误,直接重新启动系统试试吧。
要測试环境变量是否生效,又一次打开cmd,输入以下命令查看,正常应该是这样:
F:\cocos2dx\cocos2d-x-3.0rc0>set NDK_ROOT
NDK_ROOT=d:\adt-bundle-windows-x86\android-ndk-r8e


F:\cocos2dx\cocos2d-x-3.0rc0>set ANT_ROOT
ANT_ROOT=d:\adt-bundle-windows-x86\apache-ant-1.9.3\bin


F:\cocos2dx\cocos2d-x-3.0rc0>set ANDROID_SDK_ROOT
ANDROID_SDK_ROOT=D:\adt-bundle-windows-x86\sdk


F:\cocos2dx\cocos2d-x-3.0rc0>set COCOS_CONSOLE_ROOT
COCOS_CONSOLE_ROOT=F:\cocos2dx\cocos2d-x-3.0rc0\tools/cocos2d-console/bin

新建和构建project


1. 新建project

我们要用tools\cocos2d-console这个工具来新建project,这个工具提供了以下几个功能:
  • new        创建一个新的project
  • compile    编译当前project,生成二进制文件,个人认为写为build更贴切一些。
  • deploy     公布程序到一个平台
  • run        编译和公布,和执行程序

我们如今仅仅用到new,让我们看看new提供了哪些參数,打到cmd,输入:

cocos new --help

得到以下帮助:
usage: cocos new [-h] [-p PACKAGE_NAME] -l {cpp,lua,js} [-d DIRECTORY]
                 [-t TEMPLATE_NAME] [--no-native]
                 [PROJECT_NAME]


创建一个新project


必要參数:
  PROJECT_NAME          project名


可选參数:
  -h, --help            显示帮助信息
  -p PACKAGE_NAME, --package PACKAGE_NAME
                        设置包名,如com.colin.mbgame
  -l {cpp,lua,js}, --language {cpp,lua,js}
                        使用的主要语言,能够是:[cpp | lua | js]
  -d DIRECTORY, --directory DIRECTORY
                        project所在的文件夹
  -t TEMPLATE_NAME, --template TEMPLATE_NAME
                        要创建的project模板名


lua/js project參数:
  --no-native           No native support.

如今我们在cmd中输入:

F:\cocos2dx>cocos new mygame1 -p com.colin.mbgame -l cpp -d f:\cocos2dx\mbgame

得到以下输出:

F:\cocos2dx>python F:\cocos2dx\cocos2d-x-3.0rc0\tools\cocos2d-console\bin\/cocos.py 
new mygame1 -p com.colin.mbgame -l cpp -d f:\cocos2dx\mbgame
Runing command: new
> Copy template into f:\cocos2dx\mbgame\mygame1
> Copying cocos2d-x files...
> Rename project name from 'HelloCpp' to 'mygame1'
> Replace the project name from 'HelloCpp' to 'mygame1'
> Replace the project package name from 'org.cocos2dx.hellocpp' to 'com.colin.mbgame'

这表明我们已经成功创建一个project,到f:\cocos2dx\mbgame\看看,project文件夹结构例如以下:
--<mygame1>
  --<Classes>
  --<cocos2d>
  --<proj.android>
  --<proj.ios_mac>
  --<proj.linux>
  --<proj.win32>
  --<Resources>
  --.cocos-project.json
  --CMakeLists.txt


能够看到各种平台下的project都创建出来了,同一时候它把cocos2d整个框架都拷贝过来了,这样的好坏就见仁见智了,

2. 构建Androidproject

同一时候是用到cocos2d-console,这里要用的是compile这个命令,在cmd输入以下查看帮助:

f:\cocos2dx\mbgame\mygame1>cocos compile --help



usage: cocos compile [-h] [-s SRC_DIR] [-q] [-p PLATFORM] [-m MODE] [-j JOBS]
                     [--ap ANDROID_PLATFORM] [--source-map]


把当前project编译为二进制


可选參数:
  -h, --help            显示帮助信息
  -s SRC_DIR, --src SRC_DIR
                        project根文件夹,比方上面应该是f:\cocos2dx\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  半行编译,假设你有4核,能够设为4。


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输入:

F:\cocos2dx\mbgame\mygame1>cocos compile -p android -j 4

意思就是说我们要编译当前文件夹下的Androidproject,同一时候能够有4个编译任务,所以我的4核机器就满负的跑了,如无意外,应该能够看到编译開始了,最后假设看到以下这几句,说明编译成功:

BUILD SUCCESSFUL

Total time: 7 seconds

Move apk to F:\cocos2dx\mbgame\mygame1\bin\debug\android

build succeeded.

我们到f:\cocos2dx\mbgame\mygame1\proj.android\bin\,能够看到mygame1-debug.apk,说明构建完毕。

我把它安装到手机上试跑,发现好像启动速度是快了非常多,不知是不是心理作用。

在Eclipse下执行程序


还记得我们下的adt里面有eclipse吗,如今我们就来把project导入到eclipse跑跑看
  • d:\adt-bundle-windows-x86\eclipse打到eclipse.exe

第一次会提示设置工作区,你能够设置工作区放在哪里,我这里为了演示就默认了。

  • 接下来我们要看看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
  • 接下来我们来导入project,选择file/import,打开导入对话框:

    • 选择Android/Existing Android Code Into Workspace,然后Next
    • 第一步要先把libcocos2dx导进来:
      • Root Directory输入F:\cocos2dx\mbgame\mygame1\cocos2d\cocos\2d\platform\android\java
      • 此时列出libcocos2dxproject,点击finish把project导进来。
    • 第二步导入我们的project:
      • Root Directory输入F:\cocos2dx\mbgame\mygame1\proj.android
      • 此时会列出mygame1project,点击finish把project导进来。
    • 最后连接手机,选择执行或调试就能够跑程序了。
  • 在导入project到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,安装之。

cocos2d-x 3.0rc开发指南:Windows下Android环境搭建的更多相关文章

  1. [转帖]cocos2d-x 3.0rc开发指南:Windows下Android环境搭建

    原文请看:http://blog.csdn.net/linzhengqun/article/details/21663341 鲜红字体请注意:文中红色字体乃是本文博主阳光下的蒲公英添加.红色字体部分造 ...

  2. cocos2d-x_ Windows下Android环境搭建

    在Windows环境下编译cocos2d-x-3.0 Android-NDK编译:cocos2d-x(二) Mac 下搭建:http://www.cocoachina.com/bbs/read.php ...

  3. 【Android学习】Windows下Android环境搭建

    一.  JDK下载配置 直接百度,很简单. 二.android JDK下载配置 1.进入下载官网(需要FQ):https://developer.android.com/studio/index.ht ...

  4. Windows下的环境搭建Erlang

    Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...

  5. Redis在windows下的环境搭建

    Redis在windows下的环境搭建 下载windows版本redis,,官方下载地址:http://redis.io/download, 不过官方没有Windows版本,官网只提供linux版本的 ...

  6. 2017.7.18 windows下ELK环境搭建

    参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...

  7. 【并行计算-CUDA开发】Windows下opencl环境配置

    首先声明我这篇主要是根据下面网站的介绍, 加以修改和详细描述,一步一步在我自己的电脑上实现的, http://www.cmnsoft.com/wordpress/?tag=opencl&pag ...

  8. windows下cocos2d-x环境搭建

    该教程使用的cocos2dx的版本为3.14,3之后的大概都差不多 Python环境搭建: cocos2dx在windows上新建工程需要用到python脚本,安装python-2.7.x,可以上py ...

  9. Spark在Windows下的环境搭建(转)

    原作者:xuweimdm   原文网址:http://blog.csdn.net/u011513853/article/details/52865076 由于Spark是用Scala来写的,所以Spa ...

随机推荐

  1. windows下批量杀死进程

    有时候因为病毒或其它原因,启动了一系列的进程,而且有时杀了这个,又多了那个.使用命令taskkill可将这些进程一下子所有杀光: C:\Users\NR>taskkill /F /im fron ...

  2. 【hoj】1604 cable master

    简单,二分法,可是在oj上交的时候会有精度的限制,所以仅仅能把数扩得大一点,并且在扩的时候为防止尾数会自己主动生成一些非零数,所以还是自己吧扩到的位置设置为0,还有输出时由于%.2lf会自己有4设5入 ...

  3. php:兄弟连之面向对象版图形计算器1

    曾经看细说PHP的时候就想做这个,可是一直没什么时间,这次总算忙里偷闲搞了代码量比較多的project. 首先,文档结构,都在一个文件夹下就好了,我的就例如以下. 一開始,进入index.php文件. ...

  4. 正确的安装qwtplot3D开发库

    1.从网上下载qwtplot3D的最新版本:http://qwtplot3d.sourceforge.net/ 2.解压qwtplot3d-0.2.7.zip到C盘根目录下(注意:路径中不能带有中文汉 ...

  5. HTMl5的sessionStorage和localStorage(转)

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只 ...

  6. Javascript判断空对象

    最近在项目开发中判断空对象时,用了“!”运算符,结果程序出现bug,找了好久才找到原因. 其实自己范了一些低级错误,现在把自己经验总结一下: 在JavaScript中,任意JavaScript的值都可 ...

  7. [C#][Database]C#通过ODBC以自定义端口连接数据库

    数据库端的配置暂且不说,比较简单,新建用户并开启相应连接权限即可. 通过ODBC连接数据库,重点在于Connection String的书写,在此可以查到几乎所有类型的Data Server的Conn ...

  8. 三、服务解析(Resolving Services)

    当你完成组件注册,并将组件暴露为适当的服务后你就可以通过容器或者容器的子生命周期域来解析服务(After you have your components registered with approp ...

  9. VMware 虚拟机使用RedHat,出现 connect: Network is unreachable解決方法

    http://www.linuxidc.com/Linux/2015-02/113119.htm http://www.osyunwei.com/archives/7829.html

  10. CSS优先级、引入方式、Hack

    优先级 important > 内联(1,0,0,0) > id(1,0,0) > class(1,0) > element(1) > *通配符 css引入方式 方式一: ...