解決ubuntu上在androidstudio中啟動emulator閃退的問題(2)


平台

Ubuntu14.04 64 

 

現象

在AndrodStudio中點擊模擬器的啟動按鈕后,模擬器界面彈出后,又立刻閃退。

 

解決

一、查看模擬器的信息

從上面可以看到模擬器的存放路徑以及名稱:

路徑:/home/pengdonglin/.android/avd/4_WVGA_Nexus_S_API_24.avd

名稱:4_WVGA_Nexus_S_API_24

架構:x86_64

二、命令行運行模擬器

在androidsdk的路徑下面運行下面的命令:

./emulator/qemu/linux-x86_64/qemu-system-x86_64 -avd 4_WVGA_Nexus_S_API_24

此時出現了錯誤:

emulator: WARNING: encryption is off
WARNING: The Mesa software renderer is deprecated. Use Swiftshader (-gpu swiftshader) for software rendering.
failed to create drawable
getGLES2ExtensionString: Could not create GLES 2.x Pbuffer!
Failed to obtain GLES 2.x extensions string!
Could not initialize emulated framebuffer
warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
emulator: emulator window was out of view and was recentered

emulator: ERROR: Could not initialize OpenglES emulation, use '-gpu off' to disable it.

從提示中有兩種解決辦法:

1、設置 -gpu swiftshader

2、設置 -gpu off

在運行模擬器的時候,加入上面任意一個,都可以解決問題,但是最終我們並不是從命令行運行模擬器,所以我們得把這上面的配置寫到模擬器的啟動配置文件中。

從模擬器的配置信息看:

這里已經設置了軟件GLES 2.0,所以這里就需要在配置文件中修改模擬器的配置了,配置文件的路徑:

~/.android/avd/4_WVGA_Nexus_S_API_24.avd/config.ini

下面是這個文件中關於GPU的配置:

hw.gps=yes
hw.gpu.enabled=yes
hw.gpu.mode=mesa

解決方法1:

hw.gpu.enabled=no
hw.gpu.mode=mesa

解決方法2:

hw.gpu.enabled=yes
hw.gpu.mode=swiftshader

使用上面的任意一個,模擬器都可以運行:

 

 完。


免責聲明!

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



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