一、使用的工具
Win7 64位
jdk1.8.0_25 (jdk-8u25-windows-x64.exe)
adt-bundle-windows-x86_64-20140702 (adt-bundle-windows-x86_64-20140702.zip)
(可百度参考《android ndk环境配置adt-bundle-windows-x86_64-20140702》下载)
android-ndk-r10d (android-ndk-r10d-windows-x86_64.exe)
apache-ant-1.9.4-bin.zip
python-2.7.9.amd64.msi
cocos2d-x-3.3.zip
二、安装后的环境变量
用户变量:
COCOS_CONSOLE_ROOT
G:\Cocos\cocos2d-x-3.3\tools\cocos2d-console\bin
COCOS_TEMPLATES_ROOT
G:\Cocos\cocos2d-x-3.3\templates
COCOS_X_ROOT
G:\Cocos\cocos2d-x-3.3
NDK_ROOT
d:\androidwin764\android-ndk-r10d
ANT_ROOT
D:\AndroidWin764\apache-ant-1.9.4\bin (这个对于cocos3.3才正确)
ANDROID_SDK_ROOT
d:\AndroidWin764\adt-bundle-windows-x86_64-20140702\sdk
Path
G:\Cocos\cocos2d-x-3.3\templates;G:\Cocos\cocos2d-x-3.3\tools\cocos2d-console\bin;
%ANT_ROOT%\bin; (对应上面的,用于cocos3.3的配置)
%ANDROID_SDK_ROOT%\platform-tools;%ANDROID_SDK_ROOT%\tools;(添加到用户Path变量中:adb android emulator等工具在这两个目录中,可在命令行下使用)
系统变量Path
D:\ProgramData\Oracle\Java\javapath;(安装JDK时自动添加)
D:\AndroidWin764\Python27\;D:\AndroidWin764\Python27\Scripts;(安装时,选择添加系统路径)
%JAVA_HOME%\BIN;%JAVA_HOME%\jre\bin;
三、运行G:\Cocos\cocos2d-x-3.3\setup.py
按提示输入对应的路径。然后查看相关环境变量是否设置正确;若未,再次运行。(有提示,注销后再次设置)
打开cocos2dx根目录运行 download-deps.py 和 setup.py 执行一遍。
四、使用cocos创建项目
Win+R cmd 回车
C:\Users\Administrator>cocos
G:\Cocos\cocos2d-x-3.3>cocos new mygame1 -p com.bnc.mygame -l cpp -d g:\cocos\cocos2d-x-3.3\mygame
(注释:cocos new 项目名 –p 包名 –l cpp –d路径)
Running command: new
> Copy template into g:\cocos\cocos2d-x-3.3\mygame\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.bnc.mygame'
> Replace the mac bundle id from 'org.cocos2dx.hellocpp' to 'com.bnc.mygame'
> Replace the ios bundle id from 'org.cocos2dx.hellocpp' to 'com.bnc.mygame'
G:\Cocos\cocos2d-x-3.3>
这表明我们已经成功创建一个工程,到G:\Cocos\cocos2d-x-3.3\mygame\看看,工程目录结构如下:
--mygame1
--Classes
--cocos2d
--proj.android
--proj.ios_mac
--proj.linux
--proj.win8.1-univrsal
--proj.win32
--proj.wp8-xaml
--Resources
.cocos-project.json (注释:.cocos-project.json所在的目录下运行cocos run -p android)
CMakeLists
可以看到各种平台下的工程都创建出来了,同时它把cocos2d整个框架都拷贝过来了。
四、使用cocos构建Android项目
同时是用到cocos2d-console,这里要用的是compile这个命令,在cmd输入下面查看帮助:
G:\Cocos\cocos2d-x-3.3>cd mygame
G:\Cocos\cocos2d-x-3.3\mygame>cd mygame1
G:\Cocos\cocos2d-x-3.3\mygame\mygame1>cocos compile --help
usage: cocos compile [-h] [-s SRC_DIR] [-q] [-p PLATFORM] [-m MODE] [-j JOBS]
[-o OUTPUT_DIR] [--ap ANDROID_PLATFORM]
[--ndk-mode NDK_MODE] [--app-abi APP_ABI]
[--ndk-toolchain TOOLCHAIN] [--ndk-cppflags CPPFLAGS]
[--source-map] [--advanced] [-t TARGET_NAME]
[--sign-identity SIGN_ID] [--no-res]
[--compile-script {0,1}] [--lua-encrypt]
[--lua-encrypt-key LUA_ENCRYPT_KEY]
[--lua-encrypt-sign LUA_ENCRYPT_SIGN]
Compiles the current project to binary
optional arguments:
-h, --help show this help message and exit
-s SRC_DIR, --src SRC_DIR
project base directory
-q, --quiet less output
-p PLATFORM, --platform PLATFORM
select a platform (win32, web, mac, wp8, metro, linux,
android, ios, wp8_1)
-m MODE, --mode MODE Set the compile mode, should be debug|release, default
is debug.
-j JOBS, --jobs JOBS Allow N jobs at once.
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
Specify the output directory.
Android Options:
--ap ANDROID_PLATFORM
Specify the android platform used for building android
apk.
--ndk-mode NDK_MODE Set the compile mode of ndk-build, should be
debug|release|none, native code will not be compiled
when the value is none. Default is same value with -m
--app-abi APP_ABI Set the APP_ABI of ndk-build. Can be multi value
separated with ":".Sample : --app-aib
armeabi:x86:mips. Default value is "armeabi".
--ndk-toolchain TOOLCHAIN
Specify the NDK_TOOLCHAIN of ndk-build.
--ndk-cppflags CPPFLAGS
Specify the APP_CPPFLAGS of ndk-build.
Web Options:
--source-map Enable source-map
--advanced Compile all source js files using Closure Compiler's
advanced mode, bigger compression ratio bug more risk
iOS/Mac Options:
-t TARGET_NAME, --target TARGET_NAME
Specify the target name to compile.
iOS Options:
--sign-identity SIGN_ID
The code sign identity for iOS.
lua/js project arguments:
--no-res Package without project resources.
--compile-script {0,1}
Diable/Enable the compiling of lua/js script files.
lua project arguments:
--lua-encrypt Enable the encrypting of lua scripts.
--lua-encrypt-key LUA_ENCRYPT_KEY
Specify the encrypt key for the encrypting of lua
scripts.
--lua-encrypt-sign LUA_ENCRYPT_SIGN
Specify the encrypt sign for the encrypting of lua
scripts.
G:\Cocos\cocos2d-x-3.3\mygame\mygame1>
现在我们在cmd输入:
G:\Cocos\cocos2d-x-3.3\mygame\mygame1>cocos compile -p android -j 4意思就是说我们要编译当前目录下的Android工程,同时可以有4个编译任务,所以我的4核机器就满负的跑了,如无意外,应该可以看到编译开始了,最后如果看到下面这几句,说明编译成功:
BUILD SUCCESSFUL
Total time: 14 seconds
Move apk to G:\Cocos\cocos2d-x-3.3\mygame\mygame1\bin\debug\android
build succeeded.
G:\Cocos\cocos2d-x-3.3\mygame\mygame1>
先打开模拟器,用下面的命令运行,注意目录,cocos-project.json所在的目录下运行。
在工程的根目录下调出cmd,运行cocos run -p android (每次修改后都得重新打开cmd)。打包好的apk会安装入手机并存入bin目录。
另外,3.3rc0之后不必在导入那几个扩展工程并设路径。
(.cocos-project.json所在的目录下运行cocos run -p android)
G:\Cocos\cocos2d-x-3.3\mygame\mygame1>cocos run -p android
运行正常。