1、提出问题

    遇到过这样的一个问题:我将cocos2dx程序移植到Android项目中去后,想通过Android虚拟机来进行调,但是运行虚拟机后,出现如下错误:

    Unfortunately, MyTest has stopped.

cocos2dx番外篇——Android虚拟机调试问题_第1张图片

    

    这是因为:cocos2dx需要OpenGL进行渲染,而Android虚拟机没有这个东西,所以需要启用硬件的渲染器进行渲染,即GPU

    在老版本的Android SDK中,使用AVD创建虚拟机,是有勾选“Use Host GPU”这个选项的。

    也就是使用主机的GPU进行渲染。

cocos2dx番外篇——Android虚拟机调试问题_第2张图片


    可是Android SDK 22以上的版本,使用AVD创建Android虚拟机是这样的:

cocos2dx番外篇——Android虚拟机调试问题_第3张图片

    

    可以发现,“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文件夹。

cocos2dx番外篇——Android虚拟机调试问题_第4张图片


    (3)添加一行代码,开启GPU渲染“ hw.gpu.enabled=yes ”。

cocos2dx番外篇——Android虚拟机调试问题_第5张图片


    OK,只要三步骤,即可开启GPU渲染,是不是很简单呀。i_f32.gif


3、其他

    还有两个参数需要注意一下,可能用的到:

    (1)keyboard lid support :模拟器物理键盘,设为yes,表示模拟器物理键盘可用;

    (2)keyboard support     :电脑键盘,设为yes,电脑键盘可用。