1. 程式人生 > >Win7 64位中文旗艦版上Cocos2d-x 3.0的Android開發除錯環境架設

Win7 64位中文旗艦版上Cocos2d-x 3.0的Android開發除錯環境架設

系統環境:

Win764位中文旗艦版

各元件的版本:

VS2012

Python2.7.6 x86

安裝步驟:

1.    預設安裝VS2012

2.    預設安裝Python 2.7.6,修改環境變數Path

wmic ENVIRONMENT where"name='path' and username='<system>'" setVariableValue="%path%;C:\Python27"

3.    預設安裝JDK 1.8,修改環境變數Path,增加環境變數JAVA_HOME、CLASSPATH

wmic ENVIRONMENT createname="JAVA_HOME",username="<system>",VariableValue="C:\ProgramFiles\Java\jdk1.8.0_05"

wmic ENVIRONMENT createname="CLASSPATH",username="<system>",VariableValue="%JAVA_HOME%\lib"

wmic ENVIRONMENT where"name='path' and username='<system>'" setVariableValue="%path%;%JAVA_HOME%\bin"

wmic ENVIRONMENT where"name='path' and username='<system>'" setVariableValue="%path%;%ANT_HOME%\bin"

4.    安裝Cygwin x64

將Devel改為Install,如圖

5.    建立資料夾C:\AndroidDev

6.    解壓縮adt-bundle-windows-x86_64-20140321.zip到C:\AndroidDev,修改環境變數Path

wmic ENVIRONMENT where"name='path' and username='<system>'" setVariableValue="%path%;C:\AndroidDev\adt-bundle-windows-x86_64-20140321\sdk\platform-tools"

wmic ENVIRONMENT where "name='path'and username='<system>'" setVariableValue="%path%;C:\AndroidDev\adt-bundle-windows-x86_64-20140321\sdk\tools"

7.    解壓縮android-ndk-r9d-windows-x86_64到C:\AndroidDev

8.    解壓縮apache-ant-1.9.3-bin.zip到C:\,修改環境變數Path,增加環境變數ANT_HOME

wmic ENVIRONMENT create name="ANT_HOME",username="<system>",VariableValue="C:\apache-ant-1.9.3"

9.    解壓縮cocos2d-x-3.0.zip到X:\

10.  開啟CMD視窗,進入cocos2d-x-3.0資料夾,執行python setup.py,並輸入對應路徑

NDK:C:\AndroidDev\android-ndk-r9d

SDK:C:\AndroidDev\adt-bundle-windows-x86_64-20140321\sdk

ANT: C:\apache-ant-1.9.3\bin

11.  這裡最好重啟一下

建立專案:

使用cocos建立新專案

cocos new GameName -p com.CompanyName.GameName -l cpp -d D:\Projects

編譯專案:

1.    使用cocos編譯和執行專案

cocos run -s D:\Projects\GameName -p android

(如果只需要編譯專案的話 cocos compile -s D:\Projects\GameName -p android)

2.    手動編譯專案(這個方法打包出來的apk無法除錯,目前還沒研究出怎麼調整)

A.   編譯Native Code

cd D:\Projects\GameName\proj.android

python build_native.py

有時候會因為assets目錄刪除不同步的問題,出現失敗,只要再執行一次即可

B.   生成apk

android update project -p .

android update project -p../cocos2d/cocos/2d/platform/android/java

ant debug

C.   安裝到裝置

cd bin

adb install GameName.apk

在裝置上除錯(注意不是虛擬機器):

1.    安裝VisualGDB,需要選擇Android支援

2.    開啟VS的選單 -> ANDROID -> Setup SDK/NDKlocations,填寫如下

JDK Path (32 bit)        C:\Program Files\Java\jdk1.8.0_05

Android SDK Path      C:\AndroidDev\adt-bundle-windows-x86_64-20140321\SDK

Android NDK Path     C:\AndroidDev\android-ndk-r9d

Apache ANT Path      C:\apache-ant-1.9.3

3.    開啟VS選單 -> ANDROID -> Debug a Custon APKfile

APK file to debug                    D:\Projects\GameName\proj.android\bin\GameName-debug.apk

Startup activity                         org.cocos2dx.cpp.AppActivity(這一行應該是自動識別出來的)

Shared librarydirectory           D:\Projects\GameName\proj.android\obj\local

其他保持預設,可以勾選“Savethe preset as”儲存設定

如果手動安裝APK,可以勾選“Skip deploying the app”

如果除錯的位置在剛啟動程式的時候,可以勾選“Debug code that executes during App startup”

4.    Debug

備註:

1.    VisualGDB可能無法載入符號表,結果是無法檢視變數,主要是因為NDK帶的gcc和gdb版本差異有點大,而且除錯符號資訊也是不同版本的,具體可參考:

有2種解決方法:

A.   更換編譯器為clang:

在D:\Projects\GameName\proj.android\jni\Application.mk裡面新增NDK_TOOLCHAIN_VERSION := clang3.3

B.   讓gcc生成更原始並且相容性更好的除錯資訊:

在D:\Projects\GameName\proj.android\jni\Android.mk裡面新增 LOCAL_CFLAGS += -gdwarf-3