2014年12月13日 星期六

[Android開發] Cocos2d-x 3.2 安裝建置

Cocos2d-x主要為遊戲引擎,用在遊戲開發,
其他工具比較可看這篇 App開發工具簡介


建置開發環境共需:

A部分:Android環境:
1.Java JDK : Android為Java語言,故須建置Java環境
2.ADT(Android SDK+Eclipse IDE) : Java語言的編輯工具以及Android的環境
3.Android NDK
*3b. appache ANT : 生成apk時會用到   (新版本似乎不需要)

B部分:Cocos2d-x環境:
4.Visual Studio : Cocos2d-x為C++寫成,故需編寫C++的工具
5.Python:生成Cocos2d-x專案時需要使用
6.Cocos2d-x : 主遊戲引擎


版本整理:

A部分:Android環境:
1.Java JDK : (jdk-7u71)
2.ADT(Android SDK+Eclipse IDE) :  (adt-bundle-20140702)
3.Android NDK :  (android-ndk-r9d)
*3b. appache ANT :  (apache-ant-1.9.4)

B部分:Cocos2d-x環境:
4.Visual Studio :  (VS2012)
5.Python: (python-2.7.9)
6.Cocos2d-x :  (Cocos2d-x 3.2)



以下開始安裝:



A部分:Android環境:

1.Java JDK


傳送門:
JDK7: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
JDK8: http://www.oracle.com/technetwork/java/javase/downloads/index.html



建議下載jdk7的版本,編譯時較不會出錯
這邊選擇 Windows x64 版本 (本身平台為Win7_64位元)

檔案名稱: jdk-7u71-windows-x64.exe
檔案大小:132MB



1.1.安裝:

點擊下載下來的安裝檔 "jdk-7u71-windows-x64.exe",
路徑改為 C:\Java\jdk1.7.0_71
原始預設路徑為 C:\Program Files
在後續設環境變數時,變數名稱不得有空白,故另設位置




1.2.設定JAVA環境變數:

使用者變數 (新增)
變數名稱: JAVA_HOME
變數值: C:\Java\jdk1.7.0_71

使用者變數 (新增)
變數名稱: CLASSPATH
變數值: C:\Java\jdk1.7.0_71\lib


系統變數 (編輯)
變數名稱: path
變數值: C:\Java\jdk1.7.0_71\bin   (在最前面加上,需以分號(;)隔開原有的數值)




     a.對我的電腦按右鍵,選內容,進階系統設定
     b.系統內容-進階-環境變數

 
    c.新增兩個使用者變數
          變數名稱自訂
          變數值為Jdk安裝路徑 (注意非jre)
                      及Jdk\lib路徑
 
        這邊使用
          JAVA_HOME
          C:\Java\jdk1.7.0_71
           CLASSPATH
           C:\Java\jdk1.7.0_71\lib





      d.新增變數完成



       e.系統變數中找到Path


        f.編輯值,在最前端加入安裝的JDK的bin資料夾路徑

       C:\Java\jdk1.7.0_71\bin

        需以分號(;)隔開原有的數值



       h.測試
          在CMD的DOS視窗輸入java -version,如出現下圖即為安裝成功:






2.ADT Bundle (包含Android SDK 及內置ADT的Eclipse IDE)                 Android Studio


ADT包 http://developer.android.com/sdk/installing/installing-adt.html
直接下載http://438.tw/_dl_rC5CFd3nVq/ADT_Bundle_64bit_20140702_azo.exe.htm
 http://www.azofreeware.com/2013/09/android-sdk-adt-bundle-20130729-android.html 
(Google已於2014.12.11正式發布Android Studio,並以其為主要官方開發IDE,故已找打包好的檔案連結,這邊放上非官方檔案連結)



檔案名稱:ADT_Bundle_64bit_20140702_azo.exe
大小:228MB (解壓後465MB)

  2.1.安裝:
    解壓縮後即可,不需安裝,打開後有兩個目錄一個檔案
    這邊放置於
         D:\Android\eclipse
         D:\Android\sdk



  2.2.設定SDK環境變數 

※(可先跳過,後續在6.2設定Cocos2d-x一併設定)

系統變數 (編輯)
變數名稱: path
變數值: D:\Android\sdk\tools   (在最前面加上,需以分號(;)隔開原有的數值)
              D:\Android\sdk\platform-tools

(詳細設定方法可參考前面1.2.設定JAVA環境變數)




  2.3.啟動Eclipse
     
a.Eclipse 不需安裝
到之前所放的路徑 D:\Android\eclipse
執行eclipse.exe


第一次執行Eclipse時,要設定Workspace,這是決定專案儲存的位置,
勾選 Use this as tha default and do not ask again ,之後就不會再出現


b.在功能表中開啟 Window→Android SDK Manager


2.4.使用Android SDK Manager下載開發所需元件

Android SDK Manager 會列出已安裝的已安裝或需要更新的各項開發資源


必要安裝:
  • Android SDK Tools
  • Android SDK Platform-tools
  • Android SDK Build-tools








Android Studio: http://developer.android.com/sdk/index.html
直接下載: https://dl.google.com/dl/android/studio/install/1.0.0/android-studio-bundle-135.1629389.exe

Android Studio 1.0目前剛發布正式版還不支援Cocos2d-x的轉譯 (2014.12.16)




3.Android NDK (用於打包apk)

傳送門 http://developer.android.com/tools/sdk/ndk/index.html
直接下載 http://dl.google.com/android/ndk/android-ndk-r10d-windows-x86_64.exe
                 http://dl.google.com/android/ndk/android-ndk-r9d-windows-x86_64.zip
                 cocos2d-x 3.2版本 官方建議使用r9版本

(cocos2d-x 3.3版本 官方建議使用r10版本,才可支援Android 5.0)

檔案名稱: android-ndk-r9d-windows-x86_64.zip
檔案大小: 496MB (解壓縮後:)



   3.1.安裝:
  解壓縮到目錄即可
  這邊放於

       D:\Android\ndk\android-ndk-r9d

   3.2.設定NDK環境變數:

※(可先跳過,後續在6.2設定Cocos2d-x一併設定)

系統變數 (編輯)
變數名稱: path
變數值: %NDK_ROOT%   (在最前面加上,需以分號(;)隔開原有的數值)

使用者變數 (新增)
變數名稱: NDK_ROOT
變數值: D:\Android\ndk\android-ndk-r9d







3b.ANT

傳送門 http://ant.apache.org/bindownload.cgi
直接下載 http://apache.stu.edu.tw//ant/binaries/apache-ant-1.9.4-bin.zip
           


檔案名稱: apache-ant-1.9.4-bin.zip
檔案大小: 7MB (解壓縮後:35MB)

3b.1安裝ANT:
Cocos2d-x不需要安裝,下載下來後解壓縮至想放的地方即可,

這邊是放在 D:\Android\ant\apache-ant-1.9.4

3b.2設定ANT環境變數

※(可先跳過,後續在6.2設定Cocos2d-x一併設定)

使用者變數 (新增)
變數名稱: ANT_ROOT
變數值: D:\Android\ant\apache-ant-1.9.4

(詳細設定方法可參考前面1.2.設定JAVA環境變數)






B部分:Cocos2d-x環境:


4.Visual Studio 2012

C++編輯器最低需使用2012版本,最新為visual studio 2013,
建議使用visual studio 2012 編譯時較少出錯

傳送門:
Visual Studio 2012 http://www.microsoft.com/zh-tw/download/details.aspx?id=30678
Visual Studio 2013 http://www.visualstudio.com/downloads/download-visual-studio-vs
Visual Studio 2013 Community
https://www.visualstudio.com/products/visual-studio-community-vs
佛心免費開發版 功能等同專業版無閹割!! (2015.4.27)

https://www.visualstudio.com/zh-tw/downloads/download-visual-studio-vs#d-visual-studio-2013-update
更新官方載點,亦可選擇 Visual Studio 2015 Community  (2015.11.27)

2012,2013有90天免費試用版,或學生免費版。(或你剛好有序號輸入序號即可).
安裝:點擊下一部安裝即可,不需額外設定





5.Python  (用於生成cocos2dx專案項目)

Python: https://www.python.org/downloads/ (官方說明需使用3.0以前的版本)
直接下載: https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi

檔案名稱: python-2.7.9.msi
檔案大小: 17MB


5.1.安裝Python2.7.9:


執行 python-2.7.9.msi安裝,這邊路徑裝在

C:\Python27

5.2.設定環境變數:


系統變數 (編輯)
變數名稱: path
變數值: C:\Python27   (在最前面加上,需以分號(;)隔開原有的數值)


5.3.測試Python是否正常運作

在CMD的DOS視窗輸入python,如出現下圖即為安裝成功:












6.Cocos2d-x v3.2 (2014.12.13)

主引擎
傳送門: http://www.cocos2d-x.org/download
直接下載: http://www.cocos2d-x.org/filedown/cocos2d-x-3.2.zip

檔案名稱:cocos2d-x-3.2.zip
檔案大小:251MB (解壓後498MB)


6.1安裝Cocos2d-x:
Cocos2d-x不需要安裝,下載下來後解壓縮至想放的地方即可,
官方說明建議不要放在C:\下,會有程序優先權(privilege)的問題,
可以放在其他如D:\或E:\

這邊是放在 D:\Android\cocos2d-x-3.2



6.2設定Cocos2d-x:

在D:\Android\cocos2d-x-3.2下找到
setup.py 並執行
程式將會檢查所需環境變數是否設定
各路徑如下

NDK_ROOT  :                      D:\Android\ndk\android-ndk-r9d
ANDROID_SDK_ROOT:     D:\Android\sdk
ANT_ROOT:                         D:\Android\ant\apache-ant-1.9.4\bin     (注意為bin資料夾)         






6.3執行cocos2d-x環境測試:

a.打開 D:\Android\cocos2d-x-3.2\build 目錄下的

"cocos2d-win32.vc2012.sln"文件


b.會直接Visual Studio 2012或2013開啟

c.選取方案按右鍵,建置方案,(需要一段時間)


d.專案建置完成後,按F5或本機偵錯工具,測試Cocos2d-x是否可運行









6.4.生成cocos2d-x專案檔案

a. CMD的DOS視窗中進入 D:\Android\cocos2d-x-3.2\tools\cocos2d-console\bin





b. 然後輸入
      python cocos.py new Game01 -p com.hi.test -l cpp -d D:\Android\project
    生成專案
     (或是 cocos new Game01 -p com.hi.test -l cpp -d Game )

          參數說明:
  • Game01為項目名稱
  • -p 後面接檔案包名稱
  • -l  後面接開發語言類型,有cpp,lua,js三種
  • -d 後面接存放目錄




c.若-d 後只設定名稱會在 D:\Android\Ccocos2d-x-3.2\tools\cocos2d-console\bin\  下生成專案目錄

6.5建置proj.win32   (測試C++編譯)

a.進到 D:\Android\project\Game01\proj.win32
    執行 Game01.sln (會以visual studio 2012開啟)


b.在visual studio 2012 裡建置方案 並執行後若出現以下介面即表示建置成功





6.6建置proj.android  (測試eclipse編譯)

a.進到 D:\Android\project\Game01\proj.android
執行 build_native.py
會進到DOS視窗編譯專案

b.開啟eclipse 匯入android專案
File-Import...





c.類型選Android






d.選取專案資料夾

D:\Android\project\Game01\proj.android



 e.匯入時發現錯誤 The import org.cocos2dx.lib cannot be resolver,
    原因是缺少java的lib









f. 在  D:\Android\cocos2d-x-3.2\cocos\platform\android\java\src\org\cocos2dx 複製lib 資料夾
   到  D:\Android\project\Game01\proj.android\src\org\cocos2dx 
   再重新匯入一次,錯誤就消失了
f2.或是對專案按右鍵,Build Path ->Link Source...
增加一個目錄連結變數,之後直接引用變數就可以了

  • 變數名稱: src_link
  • 引用位置: D:\Android\cocos2d-x-3.2\cocos\platform\android\java\src





6.7生成apk模擬測試


a.接續前面步驟
b.先建立虛擬裝置
c.windows->Android Virtual Device Manager- >Create



  • Snapshot 會儲存快速記錄 (使用GPU時無法使用Snapshot,而cocos2dx需GPU才可開啟)
  • Use Hose GPU 則使用顯卡處理器加速

d.建立好虛擬裝置後,先將虛擬裝置開機
e.windows->Android Virtual Device Manager->Start



若缺乏API,可以進windows->Android SDK Manager 下載最新的模擬裝置
語系可改成繁體中文比較方便



f.對專案按右鍵 執行 Run as -> Android Application


g.選擇執行裝置,若有接入實體手機裝置也可以選擇後直接模擬
f.或是使用剛剛建立的虛擬裝置

i.開啟成功畫面如下




j. 建立好的apk檔可在專案資料夾內找到 
    D:\Android\project\Game01\proj.android\bin 
    Game01.apk


6.8直接打包apk的方法

在命令提是字元下進入建好的專案資料夾
執行 
cocos compile -p android -j 4

即在\bin的資料夾下生成apk檔 (一樣滿花時間)









5 則留言:

匿名 提到...

java路徑不可有空白
用1.7版
Class環境要設定

Ant

Setup.py

Unknown 提到...

你好
我再第一個VS建置
要f5後
他顯示
libaudio錯誤
請問我該怎麼處裡?!

markcoco 提到...

你用的VS是什麼版本呢?
VS2013似乎會有那個編譯的問題
我用VS2012是沒遇到

http://www.cocoachina.com/bbs/3g/read.php?tid=217125

這邊有提到:把專案設定成預設啟動項目試試

匿名 提到...

您好,我在
"f. 在 D:\Android\cocos2d-x-3.2\cocos\platform\android\java\src\org\cocos2dx 複製lib 資料夾
到 D:\Android\project\Game01\proj.android\src\org\cocos2dx
再重新匯入一次,錯誤就消失了"

這個步驟實還是發生錯誤,eclipse中顯示
CocosPlayClient cannot be resolved

The import com.chukong cannot be resolved
請問一下該如何處理?


markcoco 提到...

你好:
建議先從基本的環境建置再檢查一次
JAVA的版本,環境變數的設置是否正確,
都會導致編譯出錯。

6.4建置proj.android那邊確實滿麻煩的
java的lib要確實引入才不會出錯,檔案路徑等等的都要檢查。

prettyPrint();