cocos2dx Android虛擬機調試問題

保留此出處http://shahdza.blog.51cto.com/2410787/1548946

1、提出問題

    遇到過這樣的一個問題:我將cocos2dx程序移植到Android項目中去後,想通過Android虛擬機來進行調,但是運行虛擬機後,出現如下錯誤:

    Unfortunately, MyTest has stopped.

wKiom1QIeAKDlr9JAAC68d7E3N0214.jpg

    

    這是因爲:cocos2dx需要OpenGL進行渲染,而Android虛擬機沒有這個東西,所以需要啓用硬件的渲染器進行渲染,即GPU

    在老版本的Android SDK中,使用AVD創建虛擬機,是有勾選「Use Host GPU」這個選項的。

    也就是使用主機的GPU進行渲染。

wKioL1QIeBOyX-KSAAH-L03BOoc522.jpg


    可是Android SDK 22以上的版本,使用AVD創建Android虛擬機是這樣的:

wKioL1QIeIbBJJcgAALnnkpGDO4359.jpg

    

    可以發現,「Use Host GPU」這個選項已經沒有了。

    那怎麼辦呢?難道就不能用Android虛擬機來調試cocos2dx的程序了嗎?i_f09.gif

    

2、解決方法

    當然有辦法啦,請大家相信博主,博主會告訴大家如何再現「User Host GPU」。i_f30.gif

    請耐心往下看:


    (1)首先,使用AVD正常創建一個Android虛擬機。當然這時候還沒有開啓GPU渲染。


    (2)創建完虛擬機後,進入「 C:\Users\Administrator\.android\avd\avd.avd 」(每個人的路徑可能不一樣,不過就是在C:\User\***\.android\中就是了)。

    找到avd.avd路徑下的 config.ini 文件,用記事本打開它!

    注意:「avd」是我創建的虛擬機的名字,大家要注意了,不要說找不到avd文件夾。

wKiom1QIel-RRtigAAGZo5NbPGY865.jpg


    (3)添加一行代碼,開啓GPU渲染「 hw.gpu.enabled=yes 」。

wKioL1QIe0GDb7vXAAFZ-kJv4Pg084.jpg


    OK,只要三步驟,即可開啓GPU渲染,是不是很簡單呀。i_f32.gif


3、其他

    還有兩個參數需要注意一下,可能用的到:

    (1)keyboard lid support :模擬器物理鍵盤,設爲yes,表示模擬器物理鍵盤可用;

    (2)keyboard support     :電腦鍵盤,設爲yes,電腦鍵盤可用。