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