cocos2dx - 部署到android真機上錯誤整理


利用Cgywin編譯工具來將cocos2dx 在Android運行所需要的C++文件編譯

1. ./build_native.sh(最后一把執行出錯)

  please define NDK_ROOT in cocos2d-2.0-x-2.0.2

  配置環境變量:key: NDK_ROOK

         values: 你配置的NDK環境目錄,Linux和Windows下目錄各按系統不同而不同

 

2. make: *** [obj/local/armeabi/objs/cocos2dx_static/platform/android/CCCommon.o] Error 1

  我裝的是ndk-9r,就報這錯誤了.然后查閱一番之后說什么應該用ndk-r8e.....

 

3. Cocos2d-x學習筆記(3:WIN7下將VS2010win32 cocos2d-x 2.0.2和2.1工程移植到android環境)

  挺權威的。

  環境&軟件&工具包:

  windows xp

  cocos2dx 2.1.4

  cygwin-x86.exe windows下模擬編譯環境

4. 配置這cocos2dx-android真是費神啊。下面簡要說明以下步驟:

  按照高中學數學的方法,推導法來解決這一配置“難題”。

  1. 既然需要在Android平台下運行cocos的工程,那么就需要一個Android工程吧,另外需要調用cocos引擎API和C++編譯庫來實現吧。

  2. Anroid工程需要創建,那要不要自己手動去創建一個呢, 官網已經給出了操作步驟。   那C++編譯庫怎么生成呢,google一下cocos在windows的配置環境就知曉了,在win下需要一個模擬編譯環境,這個就需要cgywin軟件,這軟件很小但是里面綁定下載的工具很多,如果你全點了INSTALL,那么恭喜你。 花兩頓飯的時間估計都不夠,整整有4.6個G!!!這里我們在select輸入欄中 敲上make。隨后將出來的結果全點成INSTALL就成(別點上面的父類 all 那就和你全部安裝沒啥區別了,點選安裝好像要點兩次, 有default、intall、reintall、unstall四個狀態)。

  在這里說這么多就是因為我沒裝make打包的相關工具,在proj.android/bulid_native.sh 編譯C++代碼時,最后一步無法將編譯后的C 去make打包成libxxx.so庫

  如果你發現還是編譯不成功,認真查看錯誤原因,可能你會看到load global ndk environment fail 加載全局的ndk環境失敗,原因就在於你有沒有配置ndk環境變量。

  3. 如何創建一個Anroid工程呢? 在cocos解壓下的文件夾下,有個create-android-project.bat ,這里他點擊之后,主要執行:先載入你配置的NDK、SDK、cygwin環境路徑,然后依次按步驟並提示你:指定工程包名  -> 工程名 -> 選擇工程Android API的版本   over

  那么你要做的就是打開上面bat文件,找到

:: modify it to work under your environment     
set _CYGBIN=Q:\cgywin\bin
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4

:: modify it to work under your environment
set _ANDROIDTOOLS=Q:\android-sdks\tools
if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5

:: modify it to work under your environment
set _NDKROOT=Q:\android-ndks\android-ndk-r8e
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6

萬事俱備,那就可以順着思路(先配置好環境然后再執行命令)。   如果還是出現了錯誤:

比如到最后了,Hello World就是看不到cocos可愛的畫面,並且還報出

08-15 17:34:24.919: E/AndroidRuntime(17557): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load game: findLibrary returned null

呵呵,就是這錯誤 讓重復很多次配置環境的路!!! 去cocos官網論壇上,就是說 無法加載這庫是因為你的NDK 環境變量沒有配置。

但是我檢查了我的確實是有,不然在bulid_native.sh這一步就會抱錯的。

最后還是參照官網的配置步驟:先create project 然后使用bulid_native.sh命令將C++庫打包      

<application android:label="@string/app_name"
android:icon="@drawable/icon">
and change it by the correct icon name:
<application android:label="@string/app_name" 
android:icon="@drawable/ic_launcher">
And, before you close AndroidManifest.xml, modify android:minSdkVersion to be:
<uses-sdk android:minSdkVersion="14"/>
and Save the file.

點擊這里:cocos2dx官網

 

  


免責聲明!

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



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