cocos2dx小知识——Android虚拟机调试问题

1、提出问题

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

Unfortunately, MyTest has stopped.

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

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

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

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

可以发现,“Use Host GPU”这个选项已经没有了。

那怎么办呢?难道就不能用Android虚拟机来调试cocos2dx的程序了吗?

2、解决方法

当然有办法啦,请大家相信博主,博主会告诉大家如何再现“User Host GPU”。

请耐心往下看:

(1)首先,使用AVD正常创建一个Android虚拟机。当然这时候还没有开启GPU渲染。

(2)创建完虚拟机后,进入“ C:\Users\Administrator\.android\avd\avd.avd ”(每个人的路径可能不一样,不过就是在C:\User\***\.android\中就是了)。

找到avd.avd路径下的 config.ini 文件,用记事本打开它!

注意:“avd”是我创建的虚拟机的名字,大家要注意了,不要说找不到avd文件夹。

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

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

3、其他

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

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

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

时间: 2024-08-08 17:53:48

cocos2dx小知识——Android虚拟机调试问题的相关文章

cocos2dx小知识——两个头文件相互包含问题

[问题] Game.h包含了Ship.h,并且Ship.h也包含了Game.h. 然后在Game.h中声明了一个成员变量为Ship类:Ship* ship; 会出现找不到Ship类的错误. [解决] 在Game.h头文件中对Ship类进行声明即可:class Ship; [扩展] 如果在Game.cpp和Ship.cpp中相互包含Game.h与Ship.h. 是不会有影响的.

cocos2dx小知识——暂停界面的实现

游戏需要暂停时,一般都是将游戏界面变灰,暂停所有动作,然后弹出一堆的按钮. 这该如何实现暂停界面呢? 1.定义 我定义了两个类:Game游戏类.GamePause暂停类. Game类中调用doPause()函数进行游戏暂停,却换到GamePause暂停画面. 2.doPause() 这里需要用到CCRenderTexture这个动态纹理类,顾名思义就是可以动态创建纹理图片. 在doPause类中使用该类,将游戏界面截个图. // //创建CCRenderTexture,纹理画布大小为窗口大小(4

cocos2dx小知识——schedule/update不起作用

在开发的过程中,我自己写了一个英雄类Hero,继承自节点类CCNode.可是在构造函数中开启更新函数schedule/update不起作用了. 后来百度了一番,解决了. 主要原因:更新函数的触发事件需要通过父类进行初始化. 解决方法:调用父类的onEnter()函数. 我这里的父类为CCNode,所以只要在构造函数Hero()中最开始的部分加上如下代码即可. // Hero::Hero() { //初始化父类onEnter CCNode::onEnter(); //相关代码... //开启更新

cocos2dx小知识——虚拟摇杆

[唠叨] 如果手机设备没有手柄.键盘的话,就只能靠触摸屏幕来操作游戏了. 虚拟摇杆的作用就是在游戏中创建几个按键来模拟手柄,通过触控来实现上下左右的移动,以及攻击.跳跃.发大招等操作. 如下所示,有一个移动的虚拟摇杆,以及一个A键. 已有开源的SneakyInput虚拟摇杆,开源地址:https://github.com/Ntran013/SneakyInput 而这里博主则是将开源的SneakyInput进一步的修改,方便博主自身的使用. [demo下载] http://down.51cto.

cocos2dx小知识——更换精灵图片

更换精灵CCSprite的图片有两种方式. 1.直接通过图片更换 使用setTexture(CCTexture2D*)函数,可以重新设置精灵类的纹理图片. // CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("bg2.png"); bg->setTexture(texture); // 2.通过缓存帧替换 使用setDisplayFrame(CCSpriteFrame*)函数,利用

Android 48个小知识

1.判断sd卡是否存在 boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); 2.TextView部分文字设置颜色 TextView tv = new TextView(this); //添加css样式 tv.setText(Html.fromHtml("<font color="#ff0000">红色<

Win7 32位下cocos2dx android开发调试环境

http://blog.csdn.net/dj0379/article/details/38638125 1,使用环境 win7 32位 + vs2010   2,软件准备(下方绿色文字带链接) cocos2dx-v2.2.2 jdk7 android sdk android ndk adt bundle ant python visualgdb 下载好的软件分别为(有先后): cocos2d-x-2.2.2.zip jdk-7u5-windows-i586.exe installer_r18-

android 零星调试笔记

adb使用: 连接不上手机 C:\Users\Administrator\.android\adb_usb.ini   增加一行内容:  0x1782 安装第三方应用 $ adb install apk文件名 2.安装系统应用 $ adb remount $ adb push apk文件名 /system/app // apk文件名形如testme.apk 卸载应用程序 1.$ adb uninstall 包名 例如:adb uninstall lee.study 2. 在终端上找到:Home-

android产品研发(二十二)--&gt;android实用调试技巧

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了android UI优化方面的知识.我们讲解了android中的include.marge.ViewStub标签,在使用这些标签时可以简化我们的布局文件,优化组件绘制流程:讲解了android中的过度绘制相关知识点,通过优化我们的App过度绘制可以提高App的UI绘制流程与性能:我们还讲解了App中一些UI优化的小tips.更多关于android UI优化方面的知识可以参考我的:android产品研发(二十一)–>android中的UI优化