cocos2d-x 安卓環境配置 -轉


win7+cocos2d-x-2.1.4+vs2012環境太簡單就不多說了,下面是eclipse環境

一、准備

1.eclipse+adt+sdk:adt-bundle-windows-x86_64-20130729.zip

http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20130729.zip

2.ndk:android-ndk-r8e-windows-x86_64.zip

http://dl.google.com/android/ndk/android-ndk-r8e-windows-x86_64.zip

或android-ndk-r9-windows-x86_64.zip

http://dl.google.com/android/ndk/android-ndk-r9-windows-x86_64.zip

3.cocos2d-x-2.1.4.zip

https://cocos2d-x.googlecode.com/files/cocos2d-x-2.1.4.zip

http://cocos2d-x.googlecode.com/files/cocos2d-x-2.1.4.zip

4.JDK:jdk-7u25-windows-x64.exe

http://download.oracle.com/otn-pub/java/jdk/7u25-b17/jdk-7u25-windows-x64.exe?AuthParam=1376980954_2e476db738ca2e49a6952afec4e10cdc

二、配置java環境

JAVA_HOME:D:\Andorid\Java\jdk1.7.0_25(安裝路徑)

CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

然后命令行:java -version

命令行:java

命令行:javac

到此java環境完成

三、配置eclipse(此來自部分網絡,自己配圖並配置完成,以備電腦重裝)

 

  • 打開eclipse,點擊window->perfernces->Android,在SDK Location中填上剛剛下的adt-bundle-windows-x86_64-20130729.zip解壓后的D:\Andorid\adt-bundle-windows-x86_64-20130729\sdk(自己的解壓路徑)
  • Android->NDK中填ndk路徑 D:\Andorid\android-ndk-r9(自己的解壓路徑)
  • 導入Cocos2dx例子工程: Eclipse中File->New->Other...選擇Andriod Project from Existing Code在Import Projects的Root Directory中導入D:\Andorid\cocos2d-x-2.1.4\samples\HelloCpp\proj.android\(注意, 不要選中 Copy project into workspace, 否則路徑編亂很難編譯成功)
  • 接着點擊一下添加的HelloCpp項目,然后Project->Properties->Builder->New->Program                                        

這里去掉 CDT Builder的勾 因為我們要自己創建一個,並且不受這個的影響

                                                                                                                                                                                      在Main標簽中手動填NDK編譯命令行  D:\Andorid\android-ndk-r9ndk-build.cmd,點擊第二個Browser Workspace選中當前工程,出現${workspace_loc:/HelloCpp}                          換到Environment標簽中,點擊NEW新建NDK_MODULE_PATH 填寫 D:\Andorid\cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt               

  • porject->clean                                                                                               
  • Run As->Android Application. 
  • 記得將D:\Andorid\cocos2d-x-2.1.4\cocos2dx\platform\android\java\src\org\cocos2dx路徑下的 lib文件夾復制到D:\Andorid\cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\src\org\cocos2dx

    8.用ndk9可能出現 error: format not a string literal and no format arguments

        D:\Andorid\cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\jni\appliction.mk打開,在最后加上
        APP_CFLAGS += -Wno-error=format-security


 

 

四、一些問題的解決方案(以下來自網絡)

 

    • 本文鏈接:http://zengrong.net/post/1882.htm
    • 配置成功以能運行HelloCpp/proj.android項目為准。

      1. Library錯誤

      導入HelloCpp項目后,在 “項目屬性-Java Build Path-source” 中加入 cocos2d-x-2.1.4\cocos2dx\platform\android\java 路徑。然后進入 “項目屬性-Android-Library”,刪除這里的“Reference Project”,否則怎么編譯都會報錯。cygwin環境和ndk only環境均會出現。切記切記!

      2. NDK_MODULE_PATH 環境變量配置

      具體的路徑可以查看 cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\build_native.sh 的最后幾行。cygwin環境不需要設置這個變量,直接執行build_native.sh 即可。

      這個環境變量可以配置在Windows系統環境變量中,也可以配置在Eclipse項目的builder屬性中,還可以直接配置在 project/jni/Application.mk 文件中。

      若配置在 Application.mk 文件中,可以這樣寫: NDK_MODULE_PATH:=cocos2d-x-2.1.4;cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt

      3. Fatal signal 11 (SIGSEGV) at 0×00000000 (code=1)

      apk打包成功,安裝執行后出現這個錯誤退出。這一般是由於C++編譯失敗造成。對於cygwin環境,再執行build_native.sh 編譯一次即可成功;對於ndk only環境,也需要重新執行一次編譯(如果沒有配置自動刷新,那么可以手動選擇Run-build project)。

      4. 建立自定義builder的問題

      死去活來 和網上其他文章都提到為了不依賴cygwin,需要在 “項目屬性-Builders” 中建立一個新的buildr,調用NDK提供的ndk-build.cmd 來編譯。這樣做有2個問題:

      1. 沒有強調 Builder 的編譯順序。默認新建的Builder是處於所有已有Builder的末尾,這可能會導致Android Package Builder等Builder依賴錯誤;
      2. 默認存在的 “CDT Builder” 依然是調用 bash build_native.sh 來編譯,若沒有安裝cygwin,可能會出現下面的錯誤:

        bash D:/cocos2d-x/cocos2d-x-2.1.4/samples/Cpp/HelloCpp/proj.android/build_native.sh clean
        Cannot run program "bash": Launching failed
        Error: Program "bash" not found in PATH

      我認為正確的做法是,不必新建一個Builder,而是調整現有的Builder的屬性:

      1. 調整 “項目屬性-C/C++ Builder” 選項,將 “Build command” 的值從原來的 bash ${ProjDirPath}/build_native.sh 設置為x:\android-ndk-r8e\ndk-build.cmd
      2. 調整 “項目屬性-C/C++ builder-Environment” 選項,加入 NDK_MODULE_PATH 環境變量,其值與上面介紹的相同。  


免責聲明!

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



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