日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

cocos2d-x Windows下Android開發(fā)環(huán)境配置

 herowuking 2015-01-10

安裝工具


1. 配置JDK

本人的系統(tǒng)是Win7 64位版,但安裝的是JDK7,Windows X86版。
假設(shè)安裝目錄在:C:\Program Files (x86)\Java\jdk1.7.0_21;當(dāng)然也可以是其他地方
  • 設(shè)置環(huán)境變量:
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_21
CLASSPATH=.;%JAVA_HOME%\lib;
Path增加%JAVA_HOME%\bin;

本文假設(shè)你知道怎么設(shè)置環(huán)境變量,如果不知道,請(qǐng)使用搜索引擎查找相關(guān)資料,設(shè)置完后打開cmd,輸入java -version
如果出現(xiàn)下面提示,表明環(huán)境變量設(shè)置成功:
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開發(fā)者提供了ADT(Android Developer Tools),里面包含了SDK和Eclipse。
可以選擇32位或64位版本,我選擇的是32位版的,把它解壓到一個(gè)目錄,我這里是:d:\adt-bundle-windows-x86\,目錄結(jié)構(gòu)如下:
--<adt-bundle-windows-x86>
  --<eclipse>
  --<sdk>
  --SDK Manager.exe

3. 下載Android NDK

同樣有32位和64位版可選,我選擇的是32位版的,把它解壓到adt同目錄下,現(xiàn)在adt的目錄結(jié)構(gòu)如下:
--<adt-bundle-windows-x86>
  --<eclipse>
  --<sdk>
  --<android-ndk-r8e>
  --SDK Manager.exe

4. 下載ANT

ANT是為了自動(dòng)構(gòu)建Android程序用。
下載地址是:http://ant./bindownload.cgi
我選擇的是:apache-ant-1.9.3-bin.zip,同樣解壓到adt目錄下,現(xiàn)在adt的目錄結(jié)構(gòu)如下:
--<adt-bundle-windows-x86>
  --<eclipse>
  --<sdk>
  --<android-ndk-r8e>
  --<apache-ant-1.9.3>
  --SDK Manager.exe

5. 下載Python

  • 原來(lái)cocos2dx在不同平臺(tái)下必須用不同的腳本來(lái)創(chuàng)建和構(gòu)建工程,3.0以后都統(tǒng)一用python了,所以Windows下需要安裝python環(huán)境:
下載地址:https://www./ftp/python/2.7.3/python-2.7.3.msi
原來(lái)下載了最新的版本,使用setup.py的時(shí)候發(fā)現(xiàn)有語(yǔ)法錯(cuò)誤,所以最好使用2.7.3版本,親測(cè)過(guò)沒(méi)有問(wèn)題
  • 配置環(huán)境變量:最新版本可以自動(dòng)加進(jìn)path環(huán)境變量,但2.7.3不行,所以我們只能自己設(shè)置一下,假設(shè)我的Python安裝在:d:\Python27\
把這個(gè)路徑加到path環(huán)境變量中,當(dāng)我們?cè)赾md下輸入python,出現(xiàn)下面字樣,就說(shuō)明環(huán)境變量設(shè)置正確了:
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.
>>> 

cocos2d-x下載與配置


1. 下載cocos2d-x

目前最新版本是3.0RC,下載地址是:http://cocostudio.download./Cocos2D-X/3.0RC0/cocos2d-x-3.0rc0.zip
下載完解壓到一個(gè)地方,我這里:f:\cocos2dx\cocos2d-x-3.0rc0\

2. 設(shè)置環(huán)境變量

cc需要下面幾個(gè)環(huán)境變量,用于后面的新建工程,構(gòu)建工程等:
  • COCOS_CONSOLE_ROOT: cocos控制臺(tái)路徑,控制臺(tái)用于新建,構(gòu)建,發(fā)行工程。
  • NDK_ROOT: NDK根目錄
  • ANDROID_SDK_ROOT: SDK根目錄
  • ANT_ROOT: ANT根目錄
這幾個(gè)環(huán)境變量是通過(guò)cocos2d-x根目錄下的setup.py來(lái)配置的,我們啟動(dòng)cmd,運(yùn)行setup.py:
F:\cocos2dx\cocos2d-x-3.0rc0>setup.py

此時(shí)腳本需要我們提供NDK,SDK,ANT的路徑,我們根據(jù)之前放的路徑輸入就是了,整個(gè)命令過(guò)程如下:
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

命令最后提示我們重啟終端或者重啟系統(tǒng),以讓這些環(huán)境變量生效,一般我們關(guān)閉cmd和資源瀏覽器就行了,如果后面遇到環(huán)境變量找不到的錯(cuò)誤,直接重啟系統(tǒng)試試吧。
要測(cè)試環(huán)境變量是否生效,重新打開cmd,輸入下面命令查看,正常應(yīng)該是這樣:
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

新建和構(gòu)建工程


1. 新建工程

我們要用tools\cocos2d-console這個(gè)工具來(lái)新建工程,這個(gè)工具提供了下面幾個(gè)功能:
  • new        創(chuàng)建一個(gè)新的工程
  • compile    編譯當(dāng)前工程,生成二進(jìn)制文件,個(gè)人覺得寫為build更貼切一些。
  • deploy     發(fā)布程序到一個(gè)平臺(tái)
  • run        編譯和發(fā)布,和運(yùn)行程序
我們現(xiàn)在只用到new,讓我們看看new提供了哪些參數(shù),打到cmd,輸入:
cocos new --help

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

創(chuàng)建一個(gè)新工程

必要參數(shù):
  PROJECT_NAME          工程名

可選參數(shù):
  -h, --help            顯示幫助信息
  -p PACKAGE_NAME, --package PACKAGE_NAME
                        設(shè)置包名,如com.colin.mbgame
  -l {cpp,lua,js}, --language {cpp,lua,js}
                        使用的主要語(yǔ)言,可以是:[cpp | lua | js]
  -d DIRECTORY, --directory DIRECTORY
                        工程所在的目錄
  -t TEMPLATE_NAME, --template TEMPLATE_NAME
                        要?jiǎng)?chuàng)建的工程模板名

lua/js 工程參數(shù):
  --no-native           No native support.

現(xiàn)在我們?cè)赾md中輸入:
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'

這表明我們已經(jīng)成功創(chuàng)建一個(gè)工程,到f:\cocos2dx\mbgame\看看,工程目錄結(jié)構(gòu)如下:
--<mygame1>
  --<Classes>
  --<cocos2d>
  --<proj.android>
  --<proj.ios_mac>
  --<proj.linux>
  --<proj.win32>
  --<Resources>
  --.cocos-project.json
  --CMakeLists.txt

可以看到各種平臺(tái)下的工程都創(chuàng)建出來(lái)了,同時(shí)它把cocos2d整個(gè)框架都拷貝過(guò)來(lái)了,這種好壞就見仁見智了,

2. 構(gòu)建Android工程

同時(shí)是用到cocos2d-console,這里要用的是compile這個(gè)命令,在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]

把當(dāng)前工程編譯為二進(jìn)制

可選參數(shù):
  -h, --help            顯示幫助信息
  -s SRC_DIR, --src SRC_DIR
                        工程根目錄,比如上面應(yīng)該是f:\cocos2dx\mbgame\mygame1
                        如果不設(shè),就為當(dāng)前目錄(cmd定位到的那個(gè)目錄)
  -q, --quiet           less output
  -p PLATFORM, --platform PLATFORM
                        選擇一個(gè)平臺(tái) android|ios|mac|web|win32|linux
  -m MODE, --mode MODE  編譯模式 debug|release, 默認(rèn)為debug.
  -j JOBS, --jobs JOBS  半行編譯,如果你有4核,可以設(shè)為4。

Android Options:
  --ap ANDROID_PLATFORM
                        指定SDK版本?沒(méi)試過(guò),不敢枉下定論,保留英文:
                        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

現(xiàn)在我們?cè)赾md輸入:
F:\cocos2dx\mbgame\mygame1>cocos compile -p android -j 4

意思就是說(shuō)我們要編譯當(dāng)前目錄下的Android工程,同時(shí)可以有4個(gè)編譯任務(wù),所以我的4核機(jī)器就滿負(fù)的跑了,如無(wú)意外,應(yīng)該可以看到編譯開始了,最后如果看到下面這幾句,說(shuō)明編譯成功:
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,說(shuō)明構(gòu)建完成。
我把它安裝到手機(jī)上試跑,發(fā)現(xiàn)好像啟動(dòng)速度是快了很多,不知是不是心理作用。

在Eclipse下運(yùn)行程序


還記得我們下的adt里面有eclipse嗎,現(xiàn)在我們就來(lái)把工程導(dǎo)入到eclipse跑跑看
  • d:\adt-bundle-windows-x86\eclipse打到eclipse.exe
第一次會(huì)提示設(shè)置工作區(qū),你可以設(shè)置工作區(qū)放在哪里,我這里為了演示就默認(rèn)了。
  • 接下來(lái)我們要看看SDK和NDK的路徑是否正確:
    • 選擇Windwos/Preferences菜單項(xiàng),打開選項(xiàng)對(duì)話框。
    • 選擇Android結(jié)點(diǎn),看看SDK Location是否正確,我這里為F:\software\adt-bundle-windows-x86-20131030\sdk,說(shuō)明是正確的,如果沒(méi)有值,就手動(dòng)把SDK的根目錄設(shè)進(jìn)去。
    • 接著選擇Android/NDK結(jié)點(diǎn),在NDK Location輸入d:\adt-bundle-windows-x86\android-ndk-r8e
  • 接下來(lái)我們來(lái)導(dǎo)入工程,選擇file/import,打開導(dǎo)入對(duì)話框:
    • 選擇Android/Existing Android Code Into Workspace,然后Next。
    • 第一步要先把libcocos2dx導(dǎo)進(jìn)來(lái):
      • Root Directory輸入F:\cocos2dx\mbgame\mygame1\cocos2d\cocos\2d\platform\android\java
      • 此時(shí)列出libcocos2dx工程,點(diǎn)擊finish把工程導(dǎo)進(jìn)來(lái)。
    • 第二步導(dǎo)入我們的工程:
      • Root Directory輸入F:\cocos2dx\mbgame\mygame1\proj.android。
      • 此時(shí)會(huì)列出mygame1工程,點(diǎn)擊finish把工程導(dǎo)進(jìn)來(lái)。
    • 最后連接手機(jī),選擇運(yùn)行或調(diào)試就可以跑程序了。
  • 在導(dǎo)入工程到Eclipse時(shí)遇到幾個(gè)坑,在這里記下來(lái),免得后面的人繼續(xù)踩這些坑:
    • 沒(méi)有導(dǎo)libcocos2dx,只導(dǎo)mygame1時(shí)不會(huì)有編譯錯(cuò)誤,但跑起來(lái)后會(huì)ClassNotFound異常,說(shuō)找不到org/cocos2dx/lib/Cocos2dxHelper類,這個(gè)問(wèn)題搞了我好久,后來(lái)在論壇看到貼子才明白,希望后續(xù)官方有詳細(xì)的文檔。
    • 因?yàn)閍dt只包含了android4.4(api-19)的版本,所以默認(rèn)使用的是這個(gè)版本,我自己拷了幾個(gè)更低的版本,然后把Build target設(shè)為android2.3(api-9),此時(shí)運(yùn)行程序會(huì)提示下面錯(cuò)誤:
Unable to execute dex: java.nio.BufferOverflowException

后來(lái)在網(wǎng)上查了一下,發(fā)現(xiàn)是Android SDK Build tools的BUG,把它升級(jí)到19.0.3后就好了:打開SDK Manager,找到19.0.3的Android SDK Build Tools,安裝之。





    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多