让Android模拟器速度飞起来_Eclipse+BlueStacks调试Android应用【2012-10-30】
谨将此文献给无真机进行调试的各位同仁们,有真机的幸运儿请自觉飘过
原文地址:http://www.cnblogs.com/hbbbs/archive/2012/10/30/2746950.html
长期的忍耐
PC上开发Android应用,自然要使用Android模拟环境,但当前广泛使用的两种模拟环境的运行速度实在是难以接受(文章最后附上测试环境和数据)。
- Android模拟器
Android模拟器的速度从1.X版本开始就一直被大家所诟病,到了如今的4.X,Android应用在模拟器中的运行速度和效率依然是个悲剧! 尽管Google推出了针对x86平台进行优化的"Intel Atom x86 System Image",速度也没提升多少。
- Android x86平台
广大开发者实在无法忍受这蜗牛般的速度,于是乎高人弄出了在虚拟机下跑的Android x86平台。网上将其说的神乎其神,比如“运行效率提升400%”等等。
为了摆脱蜗牛般的模拟器,我用弄了个VisualBox4.2.4+Android x86(4.0.4版本及2.2版本各一个)。结果用起来发现速度只比模拟器快那么一点点,远没网上说的那么神!
曙光的绽现
BlueStacks的出现让我们苦逼的Androidless(无真机的童鞋们)重新燃起了希望。
BlueStacks为 Windows 系统开发了 Android 运行时环境,让 Android 应用能运行在微软的操作系统上,可以运行包括《愤怒小鸟》和《水果忍者》在内的 45 万应用程序。
既然可以在Windows中模拟运行《愤怒小鸟》和《水果忍者》这些个Android版的游戏,BlueStacks的运行效率自然不会差到那去。如果能eclipse连上BlueStacks测试我们自己的应用程序,那将是多美妙的事情!
将希望点燃
eclipse+BlueStacks能行不?试试不就知道了!Come on!
前期准备:
- 准备好已经能用模拟器调试Android程序的Eclipse。
- 下载BlueStacks。中文网址地址为http://www.bluestacks.net.cn/Download/ ,下个最新版吧。
- 安装好BlueStacks。不太满意的是这个软件不允许用户指定安装路径,强制安装到了c盘。
重头戏:
接下来就要让eclipse和BlueStacks互相沟通沟通了。这两个软件的打开顺序有讲究,先打开BlueStacks,再开eclipse。
如果一定要先开启eclipse,再开BlueStacks,请看另一篇文章Eclipse+BlueStacks调试Android应用_补充篇【2012-10-30】 。
- 先打开BlueStacks
- 再打开eclipse,切换到DDMS透视图,可以看到Devices视图中已经找到了BlueStacks的那台模拟设备emulator-5554。
- 接下来找个项目来调试一下。这里我找了Lgame框架作者的一个例子项目"AVG_OpenGLES"来做测试。先设置下调试设置“Debug Configuarations”。
- 在打开的调试界面的"Target"Tab页中,选择上"Always prompt to pick device"。

- 然后开始对"AVG_OpenGLES"项目进行调试。点击调试后,会弹出设备选择界面,选择BlueStacks的那个设备,点"OK"后,就能开始调试了。

- 下面就是我们的Android项目在BlueStacks中的运行界面。

- 如果程序中下了断点,应用也能正常中断在断点处。OK,大功告成!可以看到FPS达到50。晕,比模拟器中不知道快了多少倍了。
数据的证明

机器配置
- 处理器名称 DualCore Intel Core i3 330M, 2133 MHz (16 x 133)
- 主板芯片组 Intel Ibex Peak-M HM55, Intel Ironlake-M
- 系统内存 3892 MB (DDR3 SDRAM)
- 显示适配器 Intel(R) HD Graphics (256 MB)
- 计算机类型 ACPI Multiprocessor PC (Mobile)
- 操作系统 Microsoft Windows XP Professional
- 系统补丁(SP) Service Pack 3
让Android模拟器速度飞起来_Eclipse+BlueStacks调试Android应用【2012-10-30】的更多相关文章
- Android配置----Eclipse+BlueStacks调试Android应用
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...
- 关于ANDROID模拟器的一些事
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 继上一篇Android Studio VS Eclipse的文章后接着来分享AnDevCo ...
- [转]如何解决android模拟器慢的问题
分步阅读 在android开发的过程,发现android模拟器的速度不是一般的慢,那主要是因为android模拟器默认采用的是arm处理器造成的,这里主要提供两种方法: ① 利用intel虚拟硬件加速 ...
- Android 模拟器 下载、编译及调试
Android 模拟器源码下载 Android 模拟器源码的下载与 Android AOSP 源码库的下载过程类似,可以参考 Google 官方提供的 Android 源码下载文档 来了解这个过程. ...
- Android 模拟器下载、编译及调试
Android 模拟器源码下载 Android 模拟器源码的下载与 Android AOSP 源码库的下载过程类似,可以参考 Google 官方提供的 Android 源码下载文档 来了解这个过程. ...
- Android模拟器运行慢的解决方案
在android开发的过程,发现android模拟器的速度不是一般的慢,那主要是因为android模拟器默认采用的是arm处理器造成的,这里主要提供两种方法: ① 利用intel虚拟硬件加速的方式,实 ...
- 微软发布独立Android模拟器 为开发者提供测试
微软发布了 Visual Studio 2015 正式版,除了免费的社交版之外,另外也有付费的专业版.这套工具除了提供 Windows 应用程序的整合环境之外,你也可以利用它来开发 Android 程 ...
- android模拟器与PC的端口映射(转)
阅读目录 一.概述 二.实现步骤 回到顶部 一.概述 Android系统为实现通信将PC电脑IP设置为10.0.2.2,自身设置为127.0.0.1,而PC并没有为Android模拟器系统指定IP,所 ...
- android模拟器与PC的端口映射
一.概述 Android系统为实现通信将PC电脑IP设置为10.0.2.2,自身设置为127.0.0.1,而PC并没有为Android模拟器系统指定IP,所以PC电脑不能通过IP来直接访问Androi ...
随机推荐
- SQL MAX()函数处理字符型字段
假设有数据库表student,表中有字段studentCode,它是字符型的,现有需求:“每次向student表插入数据时,自动生成studentCode字段的值” 如果你的实现思路是这样的: if( ...
- 公子奇带你进入Java8流的世界(一)
在说流之前,我们先来看看集合,为什么呢?作为Java8中的新成员,它和集合有很多相似之处,同时它们也是可以互相转化的.集合不仅仅是Java语言,任何一门高级开发语言都有集合的概念,集合顾名思义,就是很 ...
- 「Luogu P3931」SAC E#1 - 一道难题 Tree 解题报告
圆原题面 我环顾四周,发现大佬们的写法都好高端! 比较差劲的我,只能交上一份DFS的题解 思路: DFS(当然了,其他算法也行) 要想切断叶子节点到根节点的连接 就是在叶子节点和根节点之间砍掉一条边 ...
- C#调用JS的WebService的方法返回null
连上了别人的VPN后,使用WebService测试软件测试了一下,结果正常,但是当我在vs里面添加WebService服务,调用的时候就出现了问题,问题如下图: 后来问了一下服务端那边的同事,他们说服 ...
- 2019版Idea如何激活
1.下载jar包 链接: https://pan.baidu.com/s/1w4B4_hmiiueNDJMjYKaFyQ 提取码: fkpx 2.修改·vmoptions 1.Help" - ...
- python可变对象
- 每个对象中都保存了三个数据: id(标识) type(类型) value(值) - 列表就是一个可变对象 a = [1,2,3] - a[0] = 10 (改对象) - 这个操作是在通过变量去修改 ...
- MySQL/数据库 知识点总结
书籍推荐 <SQL基础教程(第2版)> (入门级) <高性能MySQL : 第3版> (进阶) 文字教程推荐 SQL Tutorial (SQL语句学习,英文).SQL Tut ...
- 使用zipwithindex 算子给dataframe增加自增列 row_number函数实现自增,udf函数实现自增
DataFrame df = ...StructType schema = df.schema().add(DataTypes.createStructField("id", Da ...
- threding.local
作用:为每一个线程开辟一个独立的内存空间 示例 from threading import Thread, local import time obj = local() def test(i): o ...
- 3.JavaSE之注释

