Mac系統完美配置Cocos2d-x 2.2.3 的Android+IOS雙平台環境


注意:本文的Cocos2d-x的版本是2.2.3,更高版本可能會略有不同,低版本者不建議參考

首先需要配置XCODE環境

下載Cocos2d-x

然后下載Cocos2d-x的整個源碼:http://www.cocos2d-x.org/download 選擇2.2.3的版本

下載后解壓,建議移動到文稿里

2.2.3的版本開始,Cocos2d-x將不能通過XCODE內置模板創建,而是必須通過腳本創建項目

這里,我的源碼路徑是:/Users/mac/Documents/Projects/cocos2d-x-2.2.3/,以下所有相同路徑都可以根據您自己放置Cocos2d-x源碼的位置來替換。

現在利用其自帶的腳本,新建一個項目

新建項目

首先終端進入: cd /Users/mac/Documents/Projects/cocos2d-x-2.2.3/tools/project-creator

然后執行腳本:./create_project.py -project MyGame -package com.wangtao.mygame -language cpp

這里的MyGame是項目名稱,請根據自己需求改變

這里的com.wangtao.mygame是包名,請根據自己需求改變。改變后的包名將在之后的XCODE和ECLIPSE兩個環境中同時生效。

腳本執行完成后,新的項目在這個路徑下:/Users/mac/Documents/Projects/cocos2d-x-2.2.3/projects

找到這個項目,進入后尋找proj.ios文件夾找到MyGame.xcodeproj打開就可以進入XCODE開發游戲了。

 Android環境配置

Eclipse for mac 下載地址:http://eclipse.org/downloads/
Android SDK for mac下載地址:http://developer.android.com/sdk/index.html

NDK下載地址:http://developer.android.com/tools/sdk/ndk/index.html

ADT下載地址:http://dl.google.com/android/adt/22.6.2/adt-bundle-mac-x86_64-20140321.zip

 

請注意下載Mac版本,並匹配您系統是32位還是64位。幾個包都比較大,下載速度比較慢,建議使用支持斷點續傳的工具下載。

配置環境變量

為了讓編譯器在以后能根據名稱簡稱快速定位到其所在路徑,需要將他們的映射關系配置並保存。

打開“終端”,然后輸入  pico .bash_profile  回車
然后手動將以下路徑輸入進去:

export ANDROID_SDK_ROOT=/Users/mac/Documents/Projects/sdk/

export ANDROID_NDK_ROOT=/Users/mac/Documents/Projects/android-ndk-r9d/

export COCOS2DX_ROOT=/Users/mac/Documents/Projects/cocos2d-x-2.2.3/

export NDK_ROOT=/Users/mac/Documents/Projects/android-ndk-r9d/

export PATH=$PATH:$ANDROID_SDK_ROOT

export PATH=$PATH:$ANDROID_NDK_ROOT

注意以上輸入過程中,“=/”左右都不能有空格,否則會配置失敗

輸入完成之后,Control+x  進行保存,然后提示是否保存,輸入 y  ,最后回車即可!
配置路徑完成之后建議監測一下是否配置正確
檢驗路徑步驟: 關閉你的“終端”,重新打開,如果之前路徑配置有問題,那么重新打開的“終端”將出現如下提示:-bash: exoort: command not found    如果沒有此類提示,說明路徑配置完成。

建立Android項目

進入Eclipse的文件夾,啟動Eclipse,新建Project,選擇Android Project from Existing Code,點擊Browse,選擇/Users/mac/Documents/Projects/cocos2d-x-2.2.3/projects下您要導入的游戲項目,進入對應的游戲文件夾后,選擇proj.android文件夾,然后點擊Open。

項目導入進來后,可以看到assets文件下的資源就是XCODE中對應的資源,以后不需要來回拷貝資源,大大節省項目移植到Android平台的時間。

此外項目自動生成了入口Activity,繼承自Cocos2dxActivity。但如果是第一次導入項目,這個庫是沒有的,需要導入。方法是,再新建一個Project,選擇Android Project from Existing Code,點擊Browse,選擇/Users/mac/Documents/Projects/cocos2d-x-2.2.3/cocos2dx/platform/android文件夾。

在最終編譯之前,需要特別注意的是:

1、檢查Eclipse中本項目的jni/hello/cpp/main.cpp中的代碼,默認情況下,上面inlude了一個“HelloWolrdScene”,如果您的游戲刪掉了這個類,那這里也要對應的去掉這個include

2、檢查build_native.sh中,在# options下需要添加NDK_ROOT :NDK_ROOT= "/Users/mac/Documents/Projects/android-ndk-r9d"

 

最終編譯和運行

進入終端,根據項目中的build_native.sh位置,直接執行這個編譯腳本,如:

/Users/mac/Documents/Projects/cocos2d-x-2.2.3/projects/MyGame/proj.android/build_native.sh

這次編譯目的是生成.so文件,並打包到Android的APK中,如果編譯成功會看到如下文字

[armeabi] SharedLibrary  : libcocos2dcpp.so

[armeabi] Install        : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so

如果編譯出錯,則會顯示對應的錯誤原因,強烈建議先保證在XCODE中編譯通過的前提下,再進行android的.SO編譯。

編譯通過后,點擊項目的根節點,並按下F5鍵,可以看到項目中多了libs/armeabi/libcocos2dcpp.so。

最后通過Eclipse的RUN功能,就可以直接生成APK了。

 

權限給予

mac 下終端訪問文件出現“Permission Denied”解決方案:

一個文件有3種權限,讀、寫、可執行,你這個文件沒有可執行權限,需要加上可執行權限。

1. 終端下先 cd到該文件的目錄下

2. 執行命令 chmod a+x ./文件名

 

NDK不兼容

在編譯過程中,可能遇到這樣的錯誤提示:format not a string literal and no format arguments [-Werror=format-security]

原因:

  android-ndk-r9與Eclipse的版本不兼容問題

方案之一(我搜到的):

  在對應項目的proj.android/jni/Application.mk添加一句話

  APP_CFLAGS += -Wno-error=format-security

 

爽快的雙平台同時開發

推薦在XCODE中進行游戲開發,調試。每一次需要生成安卓APK的時候,先通過終端執行build_native.sh腳本,然后Eclipse的項目根目錄點擊F5刷新.so后文件后編譯打包一氣呵成。

唯一麻煩的一點就是iphone和android手機可能需要來回插拔,但這對游戲開發者已經是最高的跨平台開發效率了。

本文由王燾原創,轉載請注明原文地址。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM