在Firebase测试实验室中,Firebase应用程序被Android操作系统杀死

时间:2017-09-09 16:39:54

标签: android firebase android-emulator google-play-services firebase-test-lab

最近我在我的Firebase Android应用程序中添加了一些Espresso测试,因此在模拟器上运行它们的总时间长达8分钟。

现在每当我试图在Firebase测试实验室中运行我们的Espresso测试时,该应用程序总是因各种原因被Android操作系统杀死。例子:

  • 在Nexus 5模拟器上运行,API 23:测试开始后约6分钟,com.google.android.gms获取更新并终止正在进行的测试:

    D/PackageManager(1678): Renaming /data/app/vmdl517737698.tmp to /data/app/com.google.android.gms-2
    I/ActivityManager(1678): Force stopping com.google.android.gms appid=10008 user=-1: replace sys pkg
    I/ActivityManager(1678): Killing 1970:com.google.android.gms.persistent/u0a8 (adj 1): stop com.google.android.gms
    W/PackageManager(1678): Trying to update system app code path from /data/app/com.google.android.gms-1 to /data/app/com.google.android.gms-2
    <...>
    I/ActivityManager(1678): Killing 5654:org.example.MyApplication/u0a84 (adj 0): stop com.google.android.gms
    
  • 感到惊讶,我尝试在Nexus 5模拟器上运行,API 19(我的minSdkVersion为15):测试开始后大约20秒(!),关于某些Chimera API的奇怪消息显示并杀死了我“更新配置“:

    E/ModuleProvider(4927): Unhandled query from org.example.MyApplication: content://com.google.android.gms.chimera/api/
    I/ChimeraModuleLdr(5546): Module config changed, forcing restart due to module 
    I/Process(5546): Sending signal. PID: 5546 SIG: 9
    

当然,Firebase测试实验室会立即注意到被杀死的过程,并通过将测试标记为“失败”进行响应,原因为:Process crashed

我的问题是:如何在Firebase测试实验室中处理Android操作系统的这种行为?创建一个junit retry @Rule并没有帮助 - 整个过程都被杀死了,没有任何机会重新启动。

1 个答案:

答案 0 :(得分:1)

原来这是Firebase测试实验室的一个临时(好,至少持续一个月左右)的问题。我与Firebase支持部门保持联系,他们让我每周都会发布消息,直到它被解决。