1.JDK在Mac OS中已經預裝了,通過java -version查看目前的版本。
2.Eclipse,直接在android develop官網上下載eclipse sdk整合包adt-bundle-mac-x86_64.zip,
其中包括了Elipse+ADT plugin,Android SDK Tools,Android Platforms-tool,The latest Android platform。
http://developer.android.com/tools/sdk/index.html
http://developer.android.com.nyud.net/sdk/index.html
ADT:android developers tools
解壓 eclipse sdk整合包adt-bundle-mac-x86_64.zip 到使用者目錄,其下有兩個目錄 eclise和sdk,其中eclipse就是整合了ADT外掛程式的eclipse,運行eclipse目錄下的eclipse.app檔案啟動eclipse。
3.NDK
http://developer.android.com/tools/sdk/ndk/index.html
4.cocos2d-x
5.NDK_ROOT
在控制台中輸入: nano ~/.bash_profile,新增內容 export NDK_ROOT =" /Users/gzty1/adt-bundle-mac-x86_64/ndk"
或直接用文本開啟檔案修改.bash_profile檔案,其中添加語句 export NDK_ROOT = "/Users/gzty1/adt-bundle-mac-x86_64/ndk" 帶雙引號。
6.NDK_ROOT_LOCAL
ANDROID_SDK_ROOT_LOCAL
在coocs2d-x目錄下的 create-android-project.sh檔案中修改:
# set environment paramters
NDK_ROOT_LOCAL="/Users/gzty1/adt-bundle-mac-x86_64/ndk"
ANDROID_SDK_ROOT_LOCAL="/Users/gzty1/adt-bundle-mac-x86_64/sdk"
7.終端運行coocs2d-x目錄下的 create-android-project.sh ,按照提示輸入包名,sdk編號,項目名稱,成功後會在cocos2dx目錄下出現一個和剛輸入的項目名稱同名的檔案夾。
執行.sh的方式: ./create-android-project.sh
8.終端運行產生的工程檔案夾下的proj.android目錄中的build_native.sh
如果出現錯誤提示“ 出現提示 please define NDK_ROOT ”,開啟該檔案,在檔案頭部輸入 NDK_ROOT = "/Users/gzty1/adt-bundle-mac-x86_64/ndk" ,每個build_native都要添加。
運行build_native.sh,編譯成功!
9.開啟Eclipse,new Android Project from Existing Code , 選擇剛才產生的項目名稱/proj.android目錄
如果選擇了安卓4.2的sdk,項目中的AndroidManifest.xml檔案中會報一個@drawable/icon檔案找不到,因為檔案的路徑不一樣了。切換到Application面板,Icon..Broswe...,選擇ic_launcher。
如果編譯時間報錯誤 The import org.cocos2dx.lib cannot be resolved,是因為在工程裡面缺少了相應的Java代碼,目錄都已經建立好了,但似乎拷貝指令碼出了問題,沒有把源檔案拷貝進去。把/Users/gzty1/cocos2dx/cocos2dx/platform/android/java/src/org/cocos2dx下的lib目錄,拷貝到/Users/gzty1/cocos2dx/KnowledgeGameX/proj.android/src/org/cocos2dx下。
10.然後真機測試
如果修改代碼,需要刪除工程目錄下的obj 、libs目錄,然後重新按第8步驟運行工程下的build_native.sh ,然後記得使用eclipse -> Project -> Clean ... 重新Run。
為了方便也可在build_native檔案頂部先加入 rm -rf 兩個檔案夾。
11.cocos2d-2.0-x-2.0.2/samples下有例子學習資源,按以上的步驟(從build_native.sh開始),可以編譯將testCpp到手機上運行。
可能在起包名的時候要注意:不要和org.cocos2dx部分重複,包名中不和項目名中有重複。因為老遇到運行出錯,徹底修改包名後正常了。
/Users/wangweike/x_workspace/cocos2d/KnowledgeGameX/KnowledgeGameX/libs/cocos2dx/platform/third_party/ios/libraries 下有一個庫檔案libcurl.a。要使用命令列上傳到svn。
ld: library not found for -lcurl
參考
http://www.cnblogs.com/sslin/archive/2013/01/15/2861383.html
http://www.verydemo.com/demo_c158_i2646.html
http://www.cocoachina.com/bbs/simple/?t129743.html
12.jsoncpp android compiler
json/reader.h: No such file or directory
exception handling disabled
http://blog.sina.com.cn/s/blog_643e838601015zbo.html
http://blog.csdn.net/happyrabbit456/article/details/8063054
http://lzyathere.blog.163.com/blog/static/50834467201291554318/
http://www.cocos2dev.com/?p=299
13.在android真機中測試發現,取CCLayer,CCNode的子類的getContentSize(),結果有可能是小於等於0的,這導致程式會掛。
14.eclipse中安裝CDT外掛程式,以支援c++編輯。
Help/Install New Software。在Work With下拉中,選擇一個包含你的eclipse版本名稱的項,例如 Juno - http://download.eclipse.org/releases/juno在外掛程式樹裡面找到Programming Languages,選擇C/C++ Development Tools
next...
15.