windows下cocos2dx 3.x編譯安卓工程
軟體準備
- jdk
- eclipse+adt(或者adt-bundle,本文就是)
- android-sdk(adt-bundle自帶)
- android-ndk
- ant
建立專案
用python建立cocos2dx 3.x的專案,參看:http://blog.csdn.net/u012234115/article/details/40019185 專案結構:配置安卓開發環境
1,安裝jdk,sdk,ndk,ant ant是必須的,如果是adt-bundle的話不需要額外裝sdk 2,配置環境變數 JAVA_HOMEC:\Program Files (x86)\Java\jdk1.6.0_45注意:這裡的幾個環境變數的關鍵字必須是ANDROID_SDK_ROOT NDK_ROOT ANT_ROOT,後面用到 Path %JAVA_HOME%;%ANDROID_SDK_ROOT%;%NDK_ROOT%;%ANT_ROOT%
裝在非系統盤的話就可以配到使用者變量了,否則要配到系統變數
3,cocos2dx setup.py配置
執行cocos2dx 3.x根目錄下的setup.py,確認環境變數配置成功,其實也可以直接在這裡填入目錄讓指令碼自動配置環境變數。
環境變數配置完了如果生效不了可以重啟系統一下
4,匯入到eclipse
import進來python建立的專案proj.android資料夾
src上有個紅叉,有錯誤,缺少cocos2dx的庫
import這個庫
D:\cocos2d-x-3.2\pojects\testAPK\cocos2d\cocos\platform\android\java
如果之前有引入庫的殘留,先在專案的properties->android 裡面把打紅叉的殘留無效lib給remove掉
eclipse裡面配置android sdk路徑,配置目標編譯平臺api
配置Android.mk
配置 AndroidManifest.xml 橫屏改豎屏
開始編譯,直接點選run,eclipse會自動執行 proj.android目錄下的build_native.py編譯安卓工程,生成必須的.so檔案以及最終的apk檔案
(其實此時還有一種方法,用命令列的方式,cd到新建的工程目錄,執行命令 cocos compile -p android -j 4,生成的apk檔案在 專案目錄下 \bin\debug\android,可直接安裝)
注意:cocos2dx 3.2有bug,回報編譯錯誤,Description ResourcePath LocationType return type of out-of-line definition of 'cocos2d::BundleReader::tell' differs from that in the declarationCCBundleReader.cpp/testAPK/cocos2d/cocos/3dline 94C/C++ Problem
開啟那個cpp把一個ssize_t改成long int再編譯就可以了
編譯成功後項目結構裡面那個紅叉就消失了
proj.android\libs\armeabi有安卓編譯需要的libcocos2dcpp.so動態庫,proj.android\bin目錄下有編譯好的apk檔案
最終結果