參照連接http://blog.csdn.net/wonengxing/article/details/23601359html
~~~~個人生活,個人點點滴滴!!
java
一. Android工具安裝python
1. 安裝JDKlinux
JDK下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 由於這是官網,假設上不去或者下載慢,android
可以自行百度或google下載,我反正是下載的最新的,管他了ios
假設你c盤大,那就默認安裝吧,我由於c盤不夠了,因此我裝在d盤了D:\Program Files\Java\jdk1.8.0c++
環境變量設置web
環境變量設置apache
而後在path中加入例如如下代碼 %ANDROID_SDK_ROOT%\tools;%ANDROID_SDK_ROOT%\platform-tools;windows
一個是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在不一樣平臺下必須用不一樣的腳原本建立和構建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
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需要如下幾個環境變量,用於後面的新建project,構建project等:
COCOS_CONSOLE_ROOT: cocos控制檯路徑,控制檯用於新建,構建,發行project。
在path中加入%COCOS_CONSOLE_ROOT%;
在環境變量用戶區中加入如下幾個
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.新建和構建project
1. 新建project
咱們要用tools\cocos2d-console這個工具來新建project,這個工具提供瞭如下幾個功能:
new 建立一個新的project
compile 編譯當前project,生成二進制文件,我的認爲寫爲build更貼切一些。
deploy 公佈程序到一個平臺
run 編譯和公佈,和執行程序
咱們現在僅僅用到new,讓咱們看看new提供了哪些參數,打到cmd,輸入:
cocos new --help
這裏本身去看,我直接給出建立project的方法
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:假設直接複製執行時報錯,可以手動敲一遍。
可以看到各類平臺下的project都建立出來了,同一時候它把cocos2d整個框架都拷貝過來了,這樣的好壞就見仁見智了,但是可以確定一點,
那就是第一次編譯時會很是慢,因爲要把所有又一次編譯一遍,因此沒事千萬不要又一次生成!!切住(血的教訓)
同一時候是用到cocos2d-console,這裏要用的是compile這個命令,在cmd輸入如下查看幫助:
E:\cocosProject\mbgame\mygame1>cocos compile --help
-h, --help 顯示幫助信息
-s SRC_DIR, --src SRC_DIR
project根文件夾,比方上面應該是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
意思就是說咱們要編譯當前文件夾下的Androidproject,同一時候可以有4個編譯任務,因此個人4核機器就滿負的跑了,如無心外,應該可以看到編譯開始了,最後假設看到如下這幾句,說明編譯成功:
BUILD SUCCESSFUL
Total time: 17 seconds
Move apk to E:\cocosProject\mbgame\mygame1\bin\debug\android
build succeeded.
我把它安裝到手機上試跑,發現好像啓動速度是快了很是多,不知是否是心理做用。
三.在Eclipse下執行程序
還記得咱們下的adt裏面有eclipse嗎,現在咱們就來把project導入到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.接下來咱們來導入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,安裝之。