2010-10-29 65 views
46

你的模拟器功能是什么,你不能没有工作?Android模拟器提示和技巧

哪个未知的很棒的快捷方式,控制台命令或启动选项在那里,你发现,你认为所有其他Android开发人员也都知道?

与我们分享您的Emulator智慧。

回答

13

F6 - 启动轨迹球仿真

当与高分辨率的屏幕工作,一方面可以减少仿真器的大小,使之更好地适应电脑屏幕上:AVD管理器 - 启动 - 勾选“标尺显示实际尺寸“并将屏幕尺寸设置为合适的值(6为我工作)

16

您可以启用/禁用与模拟器网:F8

大测试服务中断,而您的应用程序连接到一些基于网络的服务。 它允许非常快速的禁用,只是在下载或web服务开始的时刻。

+0

这并不总是适用于我。不知道为什么。在这种情况下更好的方式来打开飞机模式:) – Tima 2010-10-30 08:35:58

+0

是的,但airplaine模式并不是即时的,如果F8的事情是工作,这是做类似的最快的方式,:哦,我不知道如果这个请求开始会发生什么,然后断开连接。 – Janusz 2010-10-30 09:18:00

+0

它在果冻豆上为我工作。 – 2013-07-16 21:06:42

15

您可以旋转它:Ctrl + F11

+10

我总是按下键盘上的7来旋转它(禁用numlock) – Felix 2010-10-29 21:48:07

+9

键盘/键盘快捷键的完整列表在这里:http://developer.android.com/guide/developing/tools/emulator.html#controlling – 2010-10-31 17:56:33

20

不完全是模拟器功能,但相关。

当使用Eclipse进行Android开发时,自动创建的调试证书仅持续1年。当它过期时,必须删除所有的开发.apk文件是一种痛苦,因为新证书不匹配,所以您无法在所有AVD中升级它们。您还必须获得另一个开发MAP-API密钥。发布的建议是简单地删除debug.keystore文件,而Eclipse(真正的ADT)将为您创建一个新的文件,同样是1年到期。但是,您可以在debug.keystore中创建您自己的调试证书,并提供所需的任何过期。在.android文件夹中做到这一点你的home目录下:

的keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass的android -keypass安卓-keyalg RSA -validity 14000

ADT设置第一和证书上的姓氏为“Android Debug”,组织单位为“Android”,双字母国家代码为“US”。您可以将组织,城市和州的值保留为“未知”。

+0

哇,这真的很有帮助,很高兴知道。我没有为Android开发。必须检查我的调试证书的持续时间。 – Janusz 2010-10-29 21:04:20

4

使用DDMS调试没有活动的服务。

假设您已经在其自己的apk中编写了一个服务供其他应用程序使用,那么无法在服务应用程序的代码中设置断点,并在其他应用程序运行并调用该服务时触发它们。

但是,如果您进入DDMS视角,找到服务的线程并突出显示它,然后单击DDMS中的错误图标,触发断点。

这回答了我自己的(未回答的)问题之一。

8

演示从USB记忆棒

一个Android应用程序。假设你要显示的朋友/客户端的应用程序,他们的机器没有任何的Android SDK,Eclipse或者甚至UPTODATE JRE,你可以把所有你需要在一个USB驱动器,而不影响您的开发环境。

在棒上制作一个'androiddem'文件夹,将一个最小的sdk(不需要文档或样本)与您需要的平台和一个Java运行时拷贝到自己的文件夹中。

从USB驱动器的根目录打开DOS框,并将本地环境变量ANDROID_SDK_HOME设置为驱动器的根目录。 (如果你使用Eclipse,这个env变量有点用词不当,因为它不需要它,并从一般的Android偏好中选择SDL位置)。它确实可以控制AVD创建的位置,所以一旦将其设置为h:\(比如说),就可以下拉到棒上的工具目录并以正常方式创建AVD - 它们将以.android在棒上。

如果您将需要的.apks(确保它们使用释放键签名)复制到该控制杆,然后从另一个DOS控制台(使用ANDROID_SDK_HOME进行设置,您可以使用adb命令安装该控制台到自动真空淀积你做。

所有您需要做的就是拿棍子到目标机器,再打开一个DOS窗口,设置ANDROID_SDK_HOME,前置的JRE的路径和运行仿真提名目标AVD。

您可以通过在棒上创建批处理文件来设置env变量和路径,从而简化流程。

+0

不错,我不得不尝试创建一个棒,我可以离开一个客户端,使他们能够启动一个模拟器。他们可以通过仿真器浏览器从我的Web空间获取最新的APK。 – Janusz 2010-10-31 16:28:23

+0

这是一个好主意,我曾在几个地方工作过。我将此作为更持久的解决方案,因此我可以在非Dev的机器上安装Android。我基本上解开了USB上的同样的东西,永久地设置ENV变量。然后我创建了一个简单的脚本来启动模拟器,并安装一个APK文件。好的提示! – Booger 2012-08-30 22:04:33

8

在开发时保持模拟器处于打开状态以避免启动时间。

: -

+3

是的基本技巧,但也许是最耗时的错误。测试应用程序后关闭仿真器会使您每次启动应用程序时都会丢失两分钟。 – Janusz 2010-10-31 16:29:08

+3

@Janusz - 其实,我的第一个错误是每次我想关闭测试应用程序时都会关闭模拟器。我的错。我学会了艰难的道路。 – Moshe 2010-10-31 16:49:37

8

您可以使用DDMS创建一个从硬件上运行的应用程序的截图(图片来源程序员修炼的Hello Android的书门下,我刚刚看了这个昨天)。只需在DDMS程序中点击Ctrl-S即可。非常适合为Android电子市场创建屏幕截图,特别是如果您的应用程序在模拟器上运行不佳。

我一直在捕捉模拟器的截图,并用Image Magick修剪它们,直到我有一位同事在工作时指出了这一点。

DDMS screenshot menu

+0

昨天我学到了这个把戏!我仍然通过Sketch创建模板,我在高分辨率屏幕上运行模拟器时遇到问题。即使在Xcode中也存在相同的功能。 – 2013-07-16 19:50:57

13

您可以尝试在一堆使用键盘按键的招数你的手,从Android官方资料为准。看到下面的图片。

Emulator tricks and tips

3

利用亚行命令来优化你的工作。 非常有用的例子:

adb shell am broadcast -a com.test.IntentName - 模拟意图

adb shell date -s 19860407.115033 - 更改日期/时间(我的生日)

adb shell dumpsys alarm - 打印注册报警

+0

这是另一个重要的ADB命令。 “广播-a android.intent.action.BOOT_COMPLETED”。它会重新启动您的模拟器。如果您正在手动打开/关闭手机以测试某些功能,方便使用。模拟器上的电源按钮不起作用。 如果你以前从未做过,那么连接ADB是一件痛苦的事情,但是我发现这个重新开始的事情非常有用。 – 2013-07-16 21:09:11

2

1)复位ADB每次控制台有adb错误。

enter image description here

2)使用启动选项明智:

2.1)如果你有问题模拟器“没有响应”启动每次重启仿真器与“扫黑用户数据”。它将清除之前安装的所有应用程序并使模拟器新鲜。 2.2)检查“从快照启动”将节省启动模拟器时的时间。它从快照中读取(如果有的话)。

2.3)检查“保存到快照”将保存快照以便下次立即运行模拟器。如果想要更快地关闭模拟器,请取消选中它。

enter image description here

3)备份 “sdcard.img” 如果你打算改变其大小。当我尝试改变它的大小时,我曾经失去了数据。如果您的计算机上有Internet连接问题,请下载并安装offline Android SDK

5)Install Android Market on emulator