1. 程式人生 > >cocos2dx3.0在mac下Android的環境配置

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等一些目錄。設定路徑回車即可,最後執行  

.bash_profile  命令儲存配置

到此處基本的配置環境配置完成。

步驟二,開啟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!