cocos2dx3.0在mac下Android的環境配置
專案進行到關鍵時刻,關卡大致排完,現在就來搗鼓一下cocos2dx在mac下得Android環境配置。windows下得安卓環境配置可能比較常見和熟絡,mac下去打包apk可能就讓人容易產生一種更難的錯覺,其實不然,大致方法都是相同的,只是具體步驟上可能有些區別。windows下所需要的環境,mac下都需要,只是換成了mac版本。
步驟一,下載所需要用到的所有工具和sdk:
1、首先要有cocos2dx環境,3.0或3.x都行,2.7以下的python ,java,能在mac下順利建立專案。
2、根據自己的32或64位系統下載一個整合eclipse和sdk的adt 推薦地址:http://mac.softpedia.com/get/Developer-Tools/ADT-Plugin-for-Eclipse.shtml#download
http://dl.google.com/android/adt/22.6.2/adt-bundle-mac-x86_64-20140321.zip
3、ndk ,ant
4、環境變數:
方法一:
開啟終端,輸入pico .bash_profile或者nano .bash_profile,這裡插入下
輸入以下路徑:
export ANDROID_SDK_ROOT=/Users/vicky/Desktop/Android/ADT/sdk/
export ANDROID_NDK_ROOT=/Users/vicky/Desktop/Android/android-ndk-r9d/
export COCOS2DX_ROOT=/Users/vicky/Desktop/cocos2d-x-3.0/
export NDK_ROOT=/Users/vicky/Desktop/Android/android-ndk-r9d/
export ANT_ROOT=/Users/vicky/Desktop/Android/apache-ant-1.9.4/bin
export PATH=$PATH:$ANDROID_SDK_ROOT
export PATH=$PATH:$ANDROID_NDK_ROOT
如圖:(截圖裡邊忘了寫ant)
最後Control+x進行儲存並退出。
方法二,
開啟終端,cd到cocos2dx的根目錄
輸入Python setup.py,設定root、ndk、sdk、ant等一些目錄。設定路徑回車即可,最後執行
到此處基本的配置環境配置完成。
步驟二,開啟eclipse並且匯入安卓專案:
開啟eclipse並且匯入現有的安卓目錄,第一次匯入一般會有提示APPactivity.java報錯,這是沒有匯入cocos2d庫,(我是匯入了庫之後截的圖),右鍵專案,選擇Properties-》java build path-》選擇Helloworld/src -》link source-》browse /Users/vicky/Desktop/HelloWorld/cocos2d/cocos/2d/platform/android/java/src 然後取個名字
如圖:
finish完成。
至此基本專案匯入算是完成了。
步驟三,編譯並打包apk:
準備工作:
1、檢視Android.mk檔案,將cpp路徑加入,或者自己寫一個自動新增cpp的方法
FILE_LIST := hellocpp/main.cpp
FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp) (class下所有cpp,如果是還有資料夾,再加一句FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/xxx/*.cpp))
FILE_LIST += $(wildcard $(LOCAL_PATH)/../../xxx/Cocos2dx/*.cpp) (別的目錄下)
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
自己所用到的目錄
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../xxx/Cocos2dx
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../xxx/Include
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/cocos/editor-support
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/cocos/ui
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/extensions
以及最上方的庫檔案
LOCAL_MODULE := xxx
LOCAL_SRC_FILES := Z:\build_project\xxx\proj.android\libxxx_android.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
以及下方靜態庫
LOCAL_STATIC_LIBRARIES := xxx
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
2、檢視專案的jni/下得main.cpp中的程式碼,預設情況下,上面inlude了一個“HelloWolrdScene”,如果自己的專案沒有,那這裡也要對應的去掉這個include
開始編譯:cd 到 專案的目錄下
/Users/vicky/Desktop/HelloWorld/proj.android
輸入 python build_native.py
將自動編譯出so檔案,至此可以進入最後階段
打包apk
方法一:直接在eclipse上run,會選擇你的手機,拔開重新插入就能識別了,apk在bin資料夾下
方法二:命令列:cd到專案目錄下
cocos run -p android
異常:
Can't find right android-platform for project : "/Users/vicky/Desktop/HelloWorld/proj.android". The android-platform should be equal/larger than 20
這是因為我的sdk是20的 有兩種方法改(1)、
cocos run -p android --ap 20
(2)、開啟
/Users/vicky/Desktop/HelloWorld/proj.android 下得project.properties 手動改成20
******************************over!