cocos2d-x移植:xcode到eclipse

xcode程序移植到eclipsehtml

必要組件:java

1.macos gcc編譯器,若沒有,在xcode->preference->downloads中下載command line tools(在命令行下輸入g++,若顯示command not found 則沒有)android

2. android sdk :本機目錄爲 /Users/zhangyao/IDE/android-sdk-macosxc++

3.cocos2d-x:本機目錄爲  /Users/zhangyao/Desktop/cocos2d-x-2.1.1shell

4.ndk  本機目錄爲 /Users/zhangyao/Desktop/android-ndk-re8macos

地址:http://developer.android.com/tools/sdk/ndk/index.htmlxcode

選擇macos 64bitbash

5.cdt  若沒有 則在help->install new software中下載eclipse

Programming Languages->C/C++ Development Tools.ui

 

 

 

1.配置環境變量

終端中 輸入 sudo vi ~/.bash_profile

輸入i進入編輯環境 輸入如下內容:

export COCOS2DX_ROOT=~/Desktop/cocos2d-x-2.1.1/

export NDK_ROOT=~/Desktop/android-ndk-r8e/

export ANDROID_SDK_ROOT=~/IDE/android-sdk-macosx/

export PATH=$PATH:$ANDROID_SDK_ROOT/tools

按下esc鍵退出編輯

輸入:wq保存退出

 

 

2.在eclipse中建立項目(設項目名稱爲test)

cd Desktop/cocos2d-x-2.1.1

./create-android-project.sh

輸入工程標誌符com.cwa.test

選擇android版本號:6

輸入工程名:test

cd test/proj.android/

./build_native.sh

 

打開eclipse,選擇file->new->other->Android->Android Project from Existing code->next->Browse->選擇目錄至cocos2d-x-2.1.4/test/project.android->finish

 

 

選擇file->new->other->c/c++->convert to a c/c++ Project->next->選擇上面建好的工程->finish

 

至此工程test建立完成

3.配置工程屬性

右鍵工程名->properties

  3.1 c/c++ Build 把use default build command的勾去掉,在build command中寫(其中test爲工程名):

bash ${workspace_loc:/test}/build_native.sh NDK_DEBUG=1 V=1

 

  3.2 點開c/c++ Build 選擇Environment->add

name:NDK_ROOT

value:/Users/zhangyao/Desktop/android-ndk-r8e

 

  3.3 c/c++ General->Path and Symbols->add

/Users/zhangyao/Desktop/android-ndk-r8e/sources/cxx-stl/system/include

 

所有修改完,點OK

在GUN C++中加入

/Users/zhangyao/Desktop/cocos2d-x-2.1.1/cocos2dx/include

/Users/zhangyao/Desktop/android-ndk-r8e/platforms/android-14/arch-arm/usr/include

 

 

 

在Android中 最好選擇最新的Android4.2.2(確保Andorid模擬機中已經下載好了4.2.2的API)

 

 

4.打開項目的AndroidMainfest.xml

把android:icon="@drawable/icon">一行改成android:icon="@drawable/ic_launcher">


        android:minSdkVersion="8"


把8改爲14


        android:minSdkVersion="14"


關閉AndroidMainfest.xml    save changes選yes

在src/org.cocos2dx.lib/Cocos2dxActivity.java中

在// ...add to FrameLayout

        framelayout.addView(this.mGLSurfaceView);

這句後面加上一句(若是沒有):

        this.mGLSurfaceView.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);

 

 

 

 

 

 

打開工程jni目錄下的Android.mk ,修改爲下圖所示

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MY_CPP_PATH := $(LOCAL_PATH)/ \

               $(LOCAL_PATH)/../../Classes/

MY_FILES_SUFFIX := %.cpp

My_All_Files := $(foreach src_path,$(MY_CPP_PATH),$(shell find $(src_path)/.))

My_All_Files := $(My_All_Files:$(MY_CPP_PATH)/./%=$(MY_CPP_PATH)%)

MY_CPP_LIST := $(filter $(MY_FILES_SUFFIX),$(My_All_Files))

MY_CPP_LIST := $(MY_CPP_LIST:$(LOCAL_PATH)/%=%)

 

LOCAL_SRC_FILES := $(MY_CPP_LIST)

                  

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes

LOCAL_C_INCLUDES += $(shell ls -FR $(LOCAL_C_INCLUDES) | grep $(LOCAL_PATH)/$)

LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES:$(LOCAL_PATH)/%:=$(LOCAL_PATH)/%)   

               

 

把cocos2d-x引擎的根目錄的cocos2dx/platform/android/java/src文件夾下org文件夾 複製到項目的src包(test/proj.android/src)下替換org文件夾

 

5.把xcode中全部的自建的類文件(包括.h和.cpp)複製到cocos2d-x-2.1.1/test/Classes

全部的資源文件複製到cocos2d-x-2.1.1/test/Resources

工程的圖標文件放在cocos2d-x-2.1.1/test/res下的文件夾中

 

 

至此工程配置完畢。

在對工程做出修改,好比加入/替換新的資源文件,class後,最好對工程clean一下,若是clean後還出現問題,能夠從新執行一下build_native命令。

 

                                 Test 的 模擬器配置

 

 

 

最後,執行如下步驟能夠把xcode和eclipse相關聯,讓在xcode中作的更改,eclipse能夠自動作出更改。

1.打開Xcode中的test項目(項目名和eclipse中的相同)

選擇classes分組,點刪除,選擇Move to Trash

2.在工程中添加新group,還命名爲classes,右鍵classes->addFIles

而後把cocos2dx/test/classes中的類都添加回來,這樣eclipse和xcode就公用了這些文件,在一箇中作出更改,另外一個裏就會自動更改,以下圖:

 

 

另:1. Android聯網

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

2.android中的R文件 ,是伴隨着加入資源等自動更新的

Android 在開發中會自動生成一個 R.java 文件 ,這個文件是自動生成的,最好不要去改。不過有時候這個 java 文件會跟咱們捉迷藏,在程序中 R.xx.xxx 會出現常常報錯現象。
1  對着工程點擊鼠標右鍵 選擇 Build Project,R.java 文件又回來。這樣R.xx.xxx 就能 X 的出來了。
 
若是不行 試用第二種 方法

2 選擇eclipse/myeclipse 的 clean  這樣R文件也會出現若是還不行 試用第三種 3 通過上面兩種方法都不行 使用絕招 從別的工程中拷貝一份R文件過來 而後string.xml裏隨便改動一下 便可更新R文件 若是還不行 試用第四種4 通過上面的3種方法都不行 說明咱們的工程有問題 好好檢查吧   好比resoure資源中的文件 命名,例result_main.xml,若是寫成Result_main.xml是錯誤的 須要所有小寫

相關文章
相關標籤/搜索