Android 什么';安卓AVDs的部署极其缓慢,这是怎么回事?

Android 什么';安卓AVDs的部署极其缓慢,这是怎么回事?,android,android-emulator,adb,avd,Android,Android Emulator,Adb,Avd,adb push在性能方面是一个巨大的耻辱。将几个MEG上传到AVD——基本上,将其从一个磁盘文件复制到同一物理框上另一个文件中的块——不会花费那么长时间。通过“网络”拉取同一个文件所需的时间更少,并且连接良好 目标是模拟的,ARM在Intel上,等等。我明白了。但看看这个时机: 将项目上载到AVD:1分42秒 通过USB将其上载到设备:7秒 在同一AVD上从“网络”下载同一应用程序:50秒 什么样的本地机器连接速度是大型宽带互联网的两倍 那是咆哮;现在的问题是。除了一直在设备上调试之外,还

adb push
在性能方面是一个巨大的耻辱。将几个MEG上传到AVD——基本上,将其从一个磁盘文件复制到同一物理框上另一个文件中的块——不会花费那么长时间。通过“网络”拉取同一个文件所需的时间更少,并且连接良好

目标是模拟的,ARM在Intel上,等等。我明白了。但看看这个时机:

  • 将项目上载到AVD:1分42秒
  • 通过USB将其上载到设备:7秒
  • 在同一AVD上从“网络”下载同一应用程序:50秒
什么样的本地机器连接速度是大型宽带互联网的两倍

那是咆哮;现在的问题是。除了一直在设备上调试之外,还有什么解决办法吗

我的APK主要是代码。我可以消除一些数据以加快速度,但这只是大约6个内存中的1 MB


一个根本的解决方案是重写ADB用来与AVD通话的任何传输方式。现在,听起来像是转发的TCP套接字;但一定要这样吗?我确信emulator平台能够在主机和设备之间共享内存块和互斥体。

如果我理解正确,您会说eclipse AVD太慢了。Genymotion是另一款独立的android v-machine。它的速度很快,你只需在3-4秒内拖动应用程序即可安装。唯一的缺点是:-它在免费版本中有一些限制,如果你不制作太高级的应用程序,它不会打扰你,-你需要导出.apk并在模拟器上拖动它(~10秒?)。对我来说,它比电话debbug或eclipse AVD更快。
您可以在这里看到:

问题可能不在于通信,而在于您正在与一个模拟系统交谈,该系统可能位于一个资源受限的盒子上。几乎没有人在日常开发中使用这种方法,但只是偶尔测试无法在其可用硬件设备上试用的细节。“几乎没有人”???我对此表示怀疑。无论如何,我在六个不同的移动平台上下载:)而且,在同一个模拟设备上,使用同一个模拟TCP/IP堆栈,从网络上下载的速度要快一倍。不,这在某种程度上是沟通。主机硬件相当不错。是的,“几乎没有人”,因为模拟器速度慢,而且要花钱。设备很便宜,而且更能代表用户体验——因此android模拟器主要用于在特定版本匹配设备不可用时,或者当平台本身需要以安全设备上不可能的方式进行调整/探测时,临时测试某些东西。不必如此。Windows Mobile仿真器在旧版本中与一台设备保持一致。iOS模拟器的运行速度与主机硬件相当,但这是一个不公平的比较。这些模拟器不是在模拟外部处理器体系结构,而是在主机系统上的瘦接口转换/权限陷阱层上运行应用程序代码。您能在其上进行调试吗?它需要NDK吗?不,你不能在上面调试,正如我提到的,你需要构建你的项目并安装在那里。