日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Mac OS X下配置Cocos2d-x for Android(Eclipse)IOS(Xcode)开发环境

發布時間:2025/3/20 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mac OS X下配置Cocos2d-x for Android(Eclipse)IOS(Xcode)开发环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面一段時間只用Cocos2d-x在IOS平臺下開發, 學習Cocos2d-x不就是為了他的跨平臺特性么? 所以必須也要掌握在Android下的開發, 才能引爆Cocos2d-x的跨平臺特性, 發揮其最大長處.

Cocos2d-x版本發展很快, 而在Android+Eclipse的開發環境配置超級復雜, 很坑爹有木有啊????

如果你發現有不一樣的地方, 很有可能是版本不同造成的, 當然也可能是我搞錯了, 望不吝賜教.

?

版本:

Cocos2d-x: cocos2d-2.0-x-2.0.3

OS X: 10.8

Xcode: 4.5.1

Eclipse: 4.2.1

NDK: android-ndk-r8b

Device: Samsung T959 cm10(Android 4.1.2)

文件路徑:

Cocos2d-x:?/opt/cocos2d-2.0-x-2.0.3

Android SDK:/opt/android-sdk-macosx

Android NDK:/opt/android-ndk-r8b

?如果下文提及這些路徑, 請替換成你自己的路徑.?

?

1.配置Cocos2d-x for Xcode.

這一塊比較簡單, 可以參見其他文章.

重點:install-templates-xcode.sh

2.配置普通Android開發環境

這一塊包括JDK安裝, Eclipse安裝, ADT安裝.教程也非常多.

3.Eclipse中安裝CDT, 即C++開發環境

4.設置環境變量, 即編輯?~/.bash_profile

在中添加

export COCOS2DX_ROOT=/opt/cocos2d-2.0-x-2.0.3 export ANDROID_SDK_ROOT=/opt/android-sdk-macosx export ANDROID_NDK_ROOT=/opt/android-ndk-r8b export NDK_ROOT=/opt/android-ndk-r8b export PATH=$PATH:$ANDROID_NDK_ROOT export PATH=$PATH:$ANDROID_SDK_ROOT

5.創建Android項目, 項目名稱"CCTest".

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-r8b use global definition of ANDROID_SDK_ROOT: /opt/android-sdk-macosx Input package path. For example: org.cocos2dx.example com.young40 Now cocos2d-x supports Android 2.2 or upper version Available Android targets: ---------- id: 1 or "android-3"Name: Android 1.5Type: PlatformAPI level: 3Revision: 4Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-PABIs : armeabi ---------- id: 2 or "android-10"Name: Android 2.3.3Type: PlatformAPI level: 10Revision: 2Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854ABIs : armeabi ---------- id: 3 or "android-15"Name: Android 4.0.3Type: PlatformAPI level: 15Revision: 3Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800ABIs : armeabi-v7a, x86 ---------- id: 4 or "android-16"Name: Android 4.1Type: PlatformAPI level: 16Revision: 2Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7inABIs : armeabi-v7a input target id: 2 input your project name: CCTest Created project directory: /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android Created directory /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/src/com/young40 Added file /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/src/com/young40/CCTest.java Created directory /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/res Created directory /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/bin Created directory /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/libs Created directory /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/res/values Added file /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/res/values/strings.xml Created directory /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/res/layout Added file /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/res/layout/main.xml Added file /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/AndroidManifest.xml Added file /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/build.xml Added file /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/proguard-project.txt Resolved location of library project to: /opt/cocos2d-2.0-x-2.0.3/cocos2dx/platform/android/java Updated project.properties Updated local.properties Updated file /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/proguard-project.txt Youngs-MacBook-Air:cocos2d-2.0-x-2.0.3 young40$

?

6.編譯默認的C++資源

Youngs-MacBook-Air:proj.android young40$ cd /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/ Youngs-MacBook-Air:proj.android young40$ ./build_native.sh NDK_ROOT = /opt/android-ndk-r8b COCOS2DX_ROOT = /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/../.. APP_ROOT = /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/.. APP_ANDROID_ROOT = /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android Using prebuilt externals make: Entering directory `/opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android' Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup Compile++ thumb : game_shared <= main.cpp In file included from /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/http://www.cnblogs.com/cocos2dx/platform/android/jni/JniHelper.h:27:0,from jni/hellocpp/main.cpp:2: /opt/android-ndk-r8b/platforms/android-14/arch-arm/usr/include/jni.h:592:13: note: the mangling of 'va_list' has changed in GCC 4.4 Compile++ thumb : game_shared <= AppDelegate.cpp Compile++ thumb : game_shared <= HelloWorldScene.cpp Prebuilt : libgnustl_static.a <= <NDK>/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/ Compile++ thumb : cocos2dx_static <= CCConfiguration.cpp.....中間編譯輸出省略Prebuilt : curl.a <= /opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/http://www.cnblogs.com/cocos2dx/platform/third_party/android/prebuilt/libcurl/libs/armeabi/ StaticLibrary : libextension.a SharedLibrary : libgame.so Install : libgame.so => libs/armeabi/libgame.so make: Leaving directory `/opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android'

7. 創建Eclipse項目, 并運行默認Demo

如圖, 選擇Android Project from Existing Code.

地址選擇為:/opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android (直接輸入可能會報錯, 請用鼠標選擇目錄)

點擊下一步就將項目加入了Eclipse中.但是項目會報錯.

The import org.cocos2dx.lib cannot be resolved CCTest.java /com.young40.CCTest/src/com/young40 line 26 Java Problem Cocos2dxActivity cannot be resolved to a type CCTest.java /com.young40.CCTest/src/com/young40 line 30 Java Problem Cocos2dxActivity cannot be resolved to a type CCTest.java /com.young40.CCTest/src/com/young40 line 33 Java Problem

?

我的解決辦法是將:

/opt/cocos2d-2.0-x-2.0.3/cocos2dx/platform/android/java

?

作為一個項目添加進來, 即可解決報錯問題.

8.編譯運行

我嘗試在Android2.3.3虛擬機運行項目失敗.

沒有關系, 我用真機測試. adb 無線連上真機(cm10真好, 自帶無線調試)

Youngs-MacBook-Air:proj.android young40$ /opt/android-sdk-macosx/platform-tools/adb connect 192.168.8.139:5555 connected to 192.168.8.139:5555

?

OK, 運行成功, 如圖.?

FPS有點低哈, 我的ipad2, 都能全速60幀.

?9.創建名稱為CCTest的Xcode項目.

創建后你可以運行測試下.

刪除項目下Classes目錄

然后將目錄/opt/cocos2d-2.0-x-2.0.3/CCTest/Classes添加到項目.請確保Destination是沒有被選中的.這樣代碼將是以引用的方式存在在項目中的.

?修改Classes下HelloWorldScene.cpp, 并運行測試.

CCLabelTTF* pLabel = CCLabelTTF::create("Hello Cocos2d-x!", "Thonburi", 34);

?

成功.cocos2d-x 2.0.3的版本在ios6上有方向旋轉的問題, 應該為橫屏才對.

?

10.在Android中重新運行.

首先運行:

?/opt/cocos2d-2.0-x-2.0.3/CCTest/proj.android/build_native.sh?

在Eclipse菜單中選擇Project=>Clean清理下項目, 然后Run下, 可以在手機看到更改也已經生效.

?11. 覺得上一步繁瑣? 能不能點擊Run同時也編譯C++資源呢? 答案是可以的.

選中Eclipse左側CCTest項目, 右鍵點擊New=>Other,

在彈出對話框中選擇C/C++=>Convert to a C/C++Proejct(Adds C/C++ Nature)

在接下來一屏中選擇C++ Project以及 Project Type為Makefile project, Toolchains為Other

接下來Eclipse問是否切換到C++視圖, 選擇否. 如果不小心切換過去了, 再切換回java視圖即可.

打開項目屬性頁面, 設置自動編譯C++, 如圖:

注意修改Build command為, 另外需要注意項目名稱.

bash ${workspace_loc:/com.young40.CCTest}/build_native.sh NDK_DEBUG=1 V=1

點擊Run,之后我這里報錯, 編譯提示說"please define NDK_ROOT", 需要在項目設置中添加環境變量.如圖

?這個時候再點擊Run, 會看到Console窗口會有編譯的輸出, 編譯成功. 運行成功.

?12.消除Eclipse中的錯誤提示.

如果打開項目jni目錄下hellocpp/main.cpp文件, 會看到大量的報錯. 我們需要講相關文件添加到項目中.

首先添加/opt/cocos2d-2.0-x-2.0.3/CCTest/Classes到項目中.如圖添加一個Link類型的文件夾.

用同樣方法將"/opt/cocos2d-2.0-x-2.0.3/cocos2dx"添加到項目中.

然后如圖添加引用.

/opt/android-ndk-r8b/platforms/android-8/arch-arm/usr/include

/opt/cocos2d-2.0-x-2.0.3/CocosDenshion/include

這里和子龍山人翻譯的老外的文章做法略有不同, 他那個方法還是要報很多錯, 可能是版本不同造成的.

我這個方法也不用忽略文件, 用什么類直接鼠標點擊可以看到相應聲明.

?

這樣初步的IOS&Android開發環境就集成好了.

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

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

?

參考:

1.(譯)cocos2d-x跨android&ios平臺開發入門教程

http://www.cnblogs.com/zilongshanren/archive/2012/04/28/2473282.html

轉載于:https://www.cnblogs.com/young40/archive/2012/10/19/cocos2d-x-mac-os-x-android-xcode-ios-development-setup.html

總結

以上是生活随笔為你收集整理的Mac OS X下配置Cocos2d-x for Android(Eclipse)IOS(Xcode)开发环境的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。