Cocos2d-x for Android & iOS開發環境配置最佳實務

來源:互聯網
上載者:User

這篇文章是我的上一篇文章的續篇, 可以先參閱上一篇文章後再讀這篇文章.

這幾天一直在研究Cocos2d-x同時在Android和iOS下開發, 有幾點體會和不便, 開發環境配置請參閱上一篇文章.

體會:

1.從我的小項目來看, 從iOS到Android, cocos2d-x可以做到無縫遷移. 在Xcode裡面寫好, 到eclipse打包即可.

不便:

1.或許是Xcode對檔案引用方式匯入代碼開發支援不好, 我一直遇到調試時的詭異現象. 比如, 不啟動模擬器啊, 啟動模擬器後黑屏啊, 應用在模擬器的名字居然變成了${Product_name}之類的.

2.無法支援Xcode內建的git了, 我寫代碼很依賴git/svn, 可以方便地看到本次更改了什麼代碼, 心裡比較踏實.

3.eclipse沒有配置單步調試, 所以最好還是在Xcode調試好, 直接到eclipse裡面打包.

 像2d-x代碼裡面的幾個測試專案的組織圖感覺是最好的, 如果以後能直接從指令碼一次性建立多個平台的專案檔就好了.

閑話少說, 我們開始嘗試下做Android和iOS項目共存的最佳實務.

再次聲明下版本和路徑:

版本:Cocos2d-x: cocos2d-2.0-x-2.0.3OS X: 10.8Xcode: 4.5.1Eclipse: 4.2.1NDK: android-ndk-r8bDevice: Samsung T959 cm10(Android 4.1.2)檔案路徑:Cocos2d-x: /opt/cocos2d-2.0-x-2.0.3Android SDK:/opt/android-sdk-macosxAndroid NDK:/opt/android-ndk-r8b 如果下文提及這些路徑, 請替換成你自己的路徑. 

  1.建立Android項目, 項目名稱CCMTest

Youngs-MacBook-Air:~ young40$ cd /opt/cocos2d-2.0-x-2.0.3/Youngs-MacBook-Air:cocos2d-2.0-x-2.0.3 young40$ ./create-android-project.sh use global definition of NDK_ROOT: /opt/android-ndk-r8buse global definition of ANDROID_SDK_ROOT: /opt/android-sdk-macosxInput package path. For example: org.cocos2dx.examplecom.young40...輸出省略了..id: 2 or "android-10"     Name: Android 2.3.3     Type: Platform     API level: 10     Revision: 2     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854     ABIs : armeabi----------...輸出省略了..input target id:2input your project name:CCMTest....輸出省略了...
Youngs-MacBook-Air:cocos2d-2.0-x-2.0.3 young40$ cd CCMTest/Youngs-MacBook-Air:CCMTest young40$ lsClasses      Resources    proj.androidYoungs-MacBook-Air:CCMTest young40$ 

然後開啟CCMTest這個目錄, 並將proj.android這個目錄做一個備份.(我是複製了一份到/opt/cocos2d-2.0-x-2.0.3目錄下)

然後刪除CCMTest這個目錄.

2.建立Xcode項目.

建立項目名稱為"CCMTest"的項目, 儲存在/opt/cocos2d-2.0-x-2.0.3目錄下.

如果你在上一步中沒有刪除, Xcode會提示你是否替換. 選擇替換也是可行的.

你可以測試下, Xcode中是工作正常的.

3.恢複proj.android目錄

將第一步中備份過的proj.android目錄恢複到/opt/cocos2d-2.0-x-2.0.3/CCMTest目錄中.

這個時候如果嘗試通過命令build_native.sh來編譯肯定會失敗的, 因為相關的檔案缺失了.

用您熟悉的編輯器開啟/opt/cocos2d-2.0-x-2.0.3/CCMTest/proj.android/jni/Android.mk檔案

將如下幾行:

修改為:

  

開啟編輯:/opt/cocos2d-2.0-x-2.0.3/CCMTest/proj.android/build_native.sh找到

for file in "$APP_ROOT"/Resources/*

修改為:

for file in "$APP_ROOT"/"$APPNAME"/Resources/*

這時可以調用命令來編譯

Youngs-MacBook-Air:proj.android young40$ /opt/cocos2d-2.0-x-2.0.3/CCMTest/proj.android/build_native.sh 

 

應該一切正常.

4.建立Eclipse項目.

Eclipse,Android,Cocos2d-x開發環境的搭建請參閱上一篇文章.相信你應該已經很熟悉了.

將/opt/cocos2d-2.0-x-2.0.3/CCMTest/proj.android匯入為Eclipse項目.

如果項目有報錯請參見上一篇文章, 消除錯誤提示的方法.

匯入項目後點擊Run運行項目.(這裡可能要配置真機調試)

好了,可以看到我們的測試專案在真機跑起來了.

因為, cocos2d-x的相容性很高, 基本上Xcode沒有問題後, 在Eclipse中編譯打包成Android即可.

再加上Eclipse中調試配置非常麻煩, 所以, 我推薦在Xcode中寫好, 運行下build_native.sh命令, 然後直接用Eclipse打包成Android即可.

 

如果有什麼問題, 歡迎交流, 歡迎關注我的微博.

我的微博:http://weibo.com/young40

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.