文档章节

android模拟器实现真机一样速度

 千山万水
发布于 2013/12/23 17:18
字数 643
阅读 10401
收藏 291

PS:有的人安装过程中遇到这个问题this computer meets the reauirements for HAXM,but....

这个问题应该是CPU可能默认没有开Vt,所以得去bios开了再说。进了bios找到virtual technology选项,选择enable即可。


android的模拟器一直以来是它的一大败笔,启动需要很长时间,运行起来也超慢,虽说可以通过创建模拟器时更改参数,但速度还是不理想。所以,以前开发时,一直用真机调试,可它的接口又是那么的脆弱,用不了多久,就接触不良了,这个问题一直困扰很多人。之前发现过一种方法,可以通过WIFI调试,但是需要有无线路由器,而且很多手机对这个支持不太好。前几天同事分享了一种方法(API guid里面有讲),可以让模拟器在X86架构的机器上以原生的速度运行。

方法很简单:

1.通过android sdk manager下载" Intel Hardware Accelerated Execution Manager",下载完成后,在SDK目录中找到下载文件并安装它。

2.通过android sdk manager 下载 “Intel x86 Atom System Image

3.创建Intel x86的模拟器。

下面就可以使用创建的这个x86的模拟器进行调试了,速度非常快,我用的MacBook装的WIN7,启动模拟器只需要几秒,运行APP速度跟我的三星I9001一样流畅,需要注意的是:

1.android sdk tools 至少要R17以上,android sdk API 至少要15

2.自己的电脑要给力,我的模拟器给它分了2G的内存,所以速度特别快。

不上图了,下面是文档地址:http://developer.android.com/tools/devices/emulator.html


首先打开sdk manager,确定有x86的image。如下图

4.2只有ARM的image,所以不好使,还得用4.1.2的(2013年1月31日,4.2版本已有x86的image)


然后下载一下intelHAXM

然后进到sdk\extras\intel\Hardware_Accelerated_Execution_Manager去点击exe,一路next安装一下。


为了确认是否开了,打开命令行 输入

sc query intelhaxm

然后像下面State 是running就对了。


CPU可能默认没有开Vt,所以得去bios开了再说。


然后建立AVD

cpu/abi的地方记得选x86的

然后下面的Hardware部分要new一下,搞出来GPU emulation 然后选择yes

更新了adt到21.0.1后,创建AVD的界面有些不同。如下图,在Emulation Options里要选上Use Host GPU.

然后就可以了,启动AVD

显示HAX is working。


© 著作权归作者所有

粉丝 24
博文 154
码字总数 137320
作品 0
厦门
私信 提问
加载中

评论(31)

黄明就
黄明就
mark,要开始着手搞毕业设计了
小码哥哥
小码哥哥
这么神奇?!?
四十大盗与阿里巴巴
四十大盗与阿里巴巴

引用来自“饼干的荣耀”的评论

引用来自“袁国涛”的评论

用的MacBook装的WIN7,好吧,就这么着吧

屌丝的玩法

用mac装win7的就是屌丝,就是装B?用macos就是高富帅? 果真是屌丝的逻辑.
emacsen
emacsen
效率如果能做到原生一样,那就为linux增加很多傻瓜软件了
打酱油的coding
打酱油的coding
为什么我运行程序就报错啊 ,在arm上正常 在intent上就报
ExtremeTalk
ExtremeTalk
Ubuntu下很流畅,但可惜和VirtualBox冲突,无法同时启动
亚林瓜子
亚林瓜子
算了,卡死我,重启了9
亚林瓜子
亚林瓜子
不错,支持一下
Sherard
Sherard
随便提下,使用win8.1童鞋 要是用intelhaxm专门为win8.1的一个热补丁
不然会出现蓝屏的情况~
为什么我知道, 你懂的~
玉龙古风
玉龙古风

引用来自“ZigzagV”的评论

引用来自“tyk5555”的评论

引用来自“打杂程序猿”的评论

其实..跟genomotion 比还是差很远..

genymotion吧

好东西

79
真机测试相比模拟器测试好在哪?

对于开发者来说,机型的适配总是让人纠结。开发时,购买真机需要钱,市面上也有像Genymotion这样的模拟器,方便开发者使用的安卓模拟器。诚然模拟器是在缺乏真机的情况下比较靠谱的开发工具,...

12332111ss
2015/12/31
285
0
Android 和 iOS 实体机和模拟器的差异

真机和模拟器 § 多点触摸 § 网络通话 § 摄像 § WiFi § 各种网络制式 § 蓝牙 模拟器只是实现了真机的大部分功能,任何应用在上线前都应该在实体机上进行验收测试。 另外客户端的性能测试...

12332111ss
2016/01/12
738
2
安卓开发笔记(二十):利用夜神模拟器调试运行Android Studio的apk

一.首先来到夜神模拟器的安装目录下 如下图所示: 再把这整个文件夹添加到我们的windows环境变量里。然后再把android studio 和夜神模拟器都打开,注意必须同时打开而且不能够把夜神模拟器最...

Geeksongs
04/02
0
0
Android模拟器的ip获取以及模拟器之间socket通信

1、Android 获取本机Mac 地址方法: 需要在AndroidManifest.xml文件中添加权限: <uses-permission android:name="android.permission.ACCESSWIFISTATE" /> Java代码 public String getLocal......

xiahuawuyu
2012/10/07
3.6K
0
安卓开发黄金搭档:android-studio+Genymotion模拟器

最近换了电脑,重新配置安卓开发环境,记录一下: 早期研究安卓开发,用eclipse觉得挺臃肿庞大,后来出了android-studio,等版本渐渐稳定下来用起来还不错,但是还是比较难忍受AVD模拟器的缓...

浩爷
2015/10/26
180
0

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
43
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部