目前我配置的環境需求如下:
JDK 1.6
XCode Version 4.6 (4H127)
Cocos2d-x 2.2.0
Android Developer
一,下載安裝
要配置環境一次性下載准備要以下東西:
1,下載jdk,地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2,下載ndk,地址:http://developer.android.com/tools/sdk/ndk/index.html
3, ADT + sdk ,地址:http://developer.android.com/sdk/index.html
4,下載最新的Cocos2dx,目前已經到了2.2版本了,地址:http://cocos2d-x.org/download 官網改動挺大;
ps:2.1.5以上的版本編譯工程創建都有一些差距;
5,下載xcode,我的是老版本4.6不用升級,破解了無證書的,沒必要直接老版本更新,可以直接去網上下載安裝包;
ps:破解地址也給一個吧http://blog.csdn.net/abcddtt/article/details/9074099 對於沒有證書或者真機調試新項目給別人看很有用的;
二,環境的配置安裝
1,ios 的環境cocos2d-x2.2.0版本安裝與升級
先安裝好xcode,然后解壓出cocos2d-x2.2的文件,從2.1.5以上后就沒有模板的安裝了,直接解壓后用/Users/yangshengjie/cocos2dx.2.2/cocos2d-x-2.2/tools/project-creator目錄下的create_project.py文件安裝建工程
但是如果2.1.5之前的想升級cocos2dx2.2.0版本,進行如下操作:
(1)找以前舊版本的如cocos2d-x-2.1.4的install-templates-xcode.sh拷貝到2.2的目錄下面
(2)再把/Users/yourmacname/cocos2dx.2.1.4/cocos2d-x-2.1.4/template/xcode4 整個文件夾復制到對應/cocos2dx.2.2.0/cocos2d-x-2.2.0/template/ 下面
(3)先獲取mac的root權限,命令行執行 install-templates-xcode.sh -u-f ,看到installed就升級成功了,xocde新建工程看cocos2d.cpp就是2.2版本的了;

2, android 環境安裝配置,jdk,ndk,eclipse 下載完之后整理以下目錄,然后開始配置mac下的環境變量
整理后的目錄放在users根目錄下:

打開終端配置環境變量,輸入以下命令:
vim ~/.bash_profile
按鍵i,進行插入編輯(如果輸錯d進行刪除一行)
修改以下路徑:
export PATH=$PATH:/Users/yourmacname/adtformac/sdk/tools
export PATH=$PATH:/Users/yourmacname/adtformac/sdk/platform-tools
export PATH=$PATH:/Users/yourmacname/android-ndk-r9b/
export ANDROID_NDK_ROOT=/Users/yourmacname/android-ndk-r9b/
export ANDROID_SDK_ROOT=/Users/yourmacname/adtformac/sdk
export NDK_ROOT=/Users/yourmacname/android-ndk-r9b/
復制進去
按esc,再命令輸入命令:
:wq
3,創建一個新工程
終端打開路徑 /Users/yangshengjie/cocos2dx.2.2/cocos2d-x-2.2/tools/project-creator
用命令創建工程:
./create_project.py -project projectname -package com.xxx.xxxx -language cpp
替換自己的包名和工程名,回車如圖示就算建立成功了

你現在可以通過xcode打開你新建的項目工程了,工程目錄在:
/Users/yangshengjie/cocos2dx.2.2/cocos2d-x-2.2/projects/mytest
雙擊文件夾proj.ios/mytest.xcodeproj就可以打開工程,直接run就可以跑起來;
ios端配置就完成了,很簡單;
另外推薦大家一個小工具go2shell(路徑命令終端快捷的工具拖到Finder工具欄上面,一鍵就可以定位打開這個路徑的終端),這玩意兒圖標也很萌...


4,配置android eclipse的環境
打開eclipse,-> import目錄 /Users/yangshengjie/cocos2dx.2.2/cocos2d-x-2.2/cocos2dx/platform/android/java
加載libcocos2d工程,因為新工程需要把他作為lib引用
(1),adt->設置->General->Workspace->Link Resources->new 對話框里面name填COCOS2DX,路徑選擇:/Users/yourmacname/cocos2dx.2.2/cocos2d-x-2.2
如下圖:

ok
(2),adt->設置->Android->SDK location 選擇你的sdk路徑/Users/yourmacname/adtformac/sdk
如下圖:

默認的sdk自帶了一個4.4的rom, APIlevel = 19
ok
(3),adt->設置->Android->C/C++ ->Build->Environment Add 一個ndk路徑/Users/yourmacname/android-ndk-r9b
ok
(4),import剛才新建的工程/Users/yourmacname/cocos2dx.2.2/cocos2d-x-2.2/projects/mytest/proj.android

ok,如果上面的步湊沒什么問題,導入應該不會報錯:

ok,到這步沒有報錯的話,應該可以直接跑起來了,可以插上android真機調試以下看看如何;
點擊run->你的工程項目在eclipse Consle里面可以看到如下圖:

我們已經成功通過ndk編譯出.so文件,真機上就沒問題了;
5,編寫代碼,進行跨平台交叉編譯
以上我們已經成功完成了工程的創建以及ios,android平台都可以跑起來新建的項目了,事情還沒完,我們新寫了c++代碼,怎么交叉編譯呢?換句話說我們在win32,xcode,eclipse任何一個開發平台寫了代碼怎么同步到其他平台呢?
例:我在xcode寫代碼再同步到eclipse上去

我打開了我之前xcode創建的工程,里面編寫了一個BaseSoundControl.cpp文件,顯然這個類是用來控制聲音的,具體代碼:
#include "BaseSoundControl.h" #include "SimpleAudioEngine.h" BaseSoundControl::BaseSoundControl(CCString* videourl,bool repetflag) { CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(videourl->getCString()); CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic(videourl->getCString(), repetflag); }
用到了CocosDenshion,win32下面如果用到聲音需要手動起添加,andriod新創建的工程也要去手動添加;
xcode ios 跑起來效果如下:

先把寫的代碼copy到對應工程里面,復制的時候注意對應目錄關系如下圖,Classes和Resources對應里面的所有東西(c++代碼和圖片,和音頻文件)都copy過來;

然后F5刷新我們的android工程,就會看到mytest項目中classes文件夾同步上了我們寫的c++代碼;

先別着急直接run,會報錯,因為在android建工程沒有cocos2d-x里面專處理聲音跨平台的CocosDenshion庫,手動添加它;
工程名->右鍵->new->folder

Advanced ->link to~~~ ->Varivbels ->選擇cocos2dx ->Extend->選擇 CocosDendhion ok!如下圖:

最后filsh就有了這個庫了;
還沒完事兒,點run還是會報錯,還有最重要的一步,編寫.mk文件!!!!
eclipse中直接在jni中打開Android.mk文件,做如下修改,以后寫了一個cpp就的在這里配置一個;

ok,所有工作完成了,可以點run了!!

再次生成.so成功,標志着跨平台編譯跑起來了!
