天天看點

搭建libGdx環境并使用genymotion運作的問題

昨天開始學習libgdx遊戲架構的使用,遇到的問題讓我折騰了很久。

libgdx環境搭建

libgdx環境的搭建就不說了,可以參考這篇文章:搭建libgdx環境

genymotion安裝ARM應用

然後是genymotion模拟器的使用,預設建立的模拟器都是X86的,在運作libgdx的ARM程式的時候回報以下錯誤:

error message:INSTALL_FAILED_CPU_ABI_INCOMPATIBLE.
           

這時候需要安裝:Genymotion-ARM-Translation

可以參考xda上的文章:Genymotion | Installing ARM Translation and GApps

簡單來說,就是下載下傳 Genymotion-ARM-Translation_v1.1.zip,不需要解壓,直接拖拽到你的虛拟機内進行安裝,安裝完成後重新開機虛拟機即可。

我的虛拟機讓人有點郁悶,不知道為什麼就是不能拖拉檔案,官網說的是權限問題,不過按照其所說的 右鍵-管理者運作 也不能解決問題,于是我采用了用adb工具直接把檔案拷貝進去的方法:

把Genymotion-ARM-Translation_v1.1.zip(Android 5.0以上無效)解壓,裡面包含了兩個檔案夾(META-INF和system),我們需要的隻是system, 然後吧system下面lib中的内容全部拷貝的虛拟機目錄中的/system/lib/目錄下,adb指令如下:

adb root
adb remount
adb push C:\genymotion\system\lib /system/lib/
           

其中,C:\genymotion 是你解壓的路徑,

拷貝完畢後重新啟動虛拟機,應該就可以安裝并運作ARM應用了。

運作libgdx建立的程式

當我寫完了一個最簡單的libgdx程式并運作的時候,錯誤又來了,程式直接無法運作,eclipse隻顯示了兩行:

Fatal signal 11 (SIGSEGV) at 0x000000b4 (code=1)
   try to load lib /data/app-lib/com.example.hellogdxgame-1/libgdx.so
           

程式直接就退出了,但這個程式在真機上是可以運作的!!那麼問題應該就出在虛拟機上了。

解決辦法是重新建立了一個4.2.2虛拟機,程式即可正常運作,Android4.3以上的我都會遇到這個問題,查找了大半天也找不到原因,估計是跟OpenGL 2.0 的支援有關,如果有哪位知道原因的話,麻煩告知一下。