在Android模拟器中分叉应用

时间:2017-01-30 22:32:29

标签: android android-emulator

我有以下问题:我需要在模拟器中运行一个Android应用程序,进入其中的某个状态,之后我想将该进程分成两个,并从该状态开始在应用程序中执行不同的操作。

示例:我想在模拟器中打开Yelp,然后我想搜索" Coffee",然后将进程分成10,并在每个子进程中打开不同的咖啡位置。

特别的问题是如何执行fork。

我一直在努力探索这个问题的解决方案,并没有找到简单的方法。我探索到目前为止可能性的选项是:

  1. 实际上在模拟器中分叉应用程序进程。这似乎完全不可能。

  2. 以某种方式使用在其中运行的应用程序来分叉模拟​​器进程。没有简单的方法来分叉外部进程,所以我想我必须在某些外部事件发生时将模拟器代码从内部更改为fork。

  3. 将模拟器放在某种支持热克隆的虚拟机中。在没有严重停机的情况下,我还没有找到真正支持它的虚拟机。

  4. 理想情况下,我想要一个不会使内存翻倍的解决方案(类似于Linux中fork的工作方式),并且与重要的停机时间无关,尽管任何解决方案都没有有上述两个属性也是可以接受的。

1 个答案:

答案 0 :(得分:1)

好的,这是完成任务。直观地说,我希望选项2是最有希望的。 或者,您是否考虑过编写UIAutomator脚本并让它在几台设备上并行或连续运行?绝对不会满足奖金标准,但经过足够的运行时间后,您可能会得到您想要的东西。

  1. 将模拟器置于您想要分叉的状态
  2. 保存快照
  3. Spawn模拟器,指定快照
  4. 运行UIAutomator脚本
  5. 记录调查结果
  6. GOTO 3