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

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

首先須要配置XCODE環境android

下載Cocos2d-xios

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

下載後解壓,建議移動到文稿裏bash

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

這裏,個人源碼路徑是:/Users/mac/Documents/Projects/cocos2d-x-2.2.3/,如下全部相同路徑均可以根據您本身放置Cocos2d-x源碼的位置來替換。iphone

如今利用其自帶的腳本,新建一個項目工具

新建項目ui

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

而後執行腳本:./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文件夾。

在最終編譯以前,須要特別注意的是:

一、檢查Eclipse中本項目的jni/hello/cpp/main.cpp中的代碼,默認狀況下,上面inlude了一個「HelloWolrdScene」,若是您的遊戲刪掉了這個類,那這裏也要對應的去掉這個include

二、檢查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手機可能須要來回插拔,但這對遊戲開發者已是最高的跨平臺開發效率了。

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

相關文章
相關標籤/搜索