2017-04-24 39 views
1

我試圖從這個鏈接安裝KVM:https://help.ubuntu.com/community/KVM/Installation運行相較於Windows在Ubuntu 17.04的極端緩慢的Android模擬器10

但是,即使嘗試這種模擬器後,軟件GLES 2.0模式下運行時,當我選擇硬件是緩慢的GLES 2.0作爲圖形我無法啓動avd。它顯示開始AVD幾秒鐘,然後沒有任何反應。有什麼我在這裏失蹤?

+0

保留硬件選擇GLES 2.0,從控制檯**/yoursdkpath/emulator/.emulator -avd youremulatorname -use-system-libs **運行此命令並告訴我會發生什麼。小心地替換你的確切的SDK路徑和模擬器名稱。 –

+0

@MartinRevert謝謝!它完美的作品。所以我必須始終通過終端啓動它? –

+0

不,你不知道。我只是試圖診斷問題。我將在幾分鐘內發佈解決方案的答案。 –

回答

4

所以,問題是Android SDK無法找到OpenGL配置和庫。 Google使用SDK分發OpenGL庫,但在Ubuntu中,由於無法找到C++庫,因此配置中斷,因此我找到的最佳解決方案是將指向您已經在Ubuntu上使用的系統庫的鏈接指向一個simbolic鏈接。之前的測試讓我執行了命令行強制的情況,但通過接下來的步驟,您可以擁有更永久和更舒適的解決方案,從而允許您直接從AVD UI中啓動任何硬件加速模擬器。

首先,你的系統庫是這個Ubuntu的道路上:

/usr/lib/x86_64-linux-gnu/ 

如果有存在內/usr/lib/x86_64-linux-gnu/沒有libstdc++.so.6文件,請安裝它:

sudo apt install libstdc++6 

在你的情況是相當很明顯,你已經安裝了正確的庫,或者模擬器不會從命令行啓動,但是對於沒有在系統中安裝正確庫的人離開了上一步。

所以,現在我們需要告訴Android SDK我們需要使用系統庫。爲此,請執行以下操作:

如果~/yoursdkpath/emulator/lib64/libstdc++/內有libstdc++6文件,請執行mv libstdc++6 libstdc++6.bak備份。

然後:

ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ~/yoursdkpath/emulator/lib64/libstdc++/libstdc++.so.6 

就是這樣,去AVD,並開始與硬件GLES 2.0的配置選擇的模擬器,它會工作。

重要提示:Google會不時更​​新您的模擬器。如果由於某種原因,您注意到Google更新後模擬器停止從AVD啓動,請重複此步驟,所有操作都將恢復正常。

+0

它的工作。謝謝:) –

+0

非常感謝你。你的建議效果很好! –