Firebase 应用程序在 Firebase 测试实验室中被 Android OS 杀死
Firebase app being killed by Android OS in Firebase Test Lab
最近我在我的 Firebase Android 应用程序中添加了一些 Espresso 测试,因此 运行 在模拟器上测试它们的总时间增加到大约 8 分钟。
现在,每当我尝试在 Firebase 测试实验室中 运行 我们的 Espresso 测试时,该应用程序总是会因各种原因被 Android OS 终止。示例:
运行ning 在 Nexus 5 模拟器上,API23:测试开始后大约 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 模拟器上尝试了 运行ning,API19(我的 minSdkVersion 是 15):测试开始后大约 20 秒(!),一个关于某些奇美拉 API 的奇怪消息出现并杀死了我 "to update a config":
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 测试实验室会立即注意到进程被终止,并通过标记测试 "failed" 做出响应,原因如下:Process crashed
.
我的问题是:如何在 Firebase 测试实验室中处理 Android OS 的这种行为?创建一个 junit retry @Rule 没有帮助 - 整个过程被终止,没有任何重试机会。
事实证明,这是 Firebase 测试实验室中的暂时性(好吧,至少持续一个月左右)问题。我联系了 Firebase 支持人员,他们每周都会向我发布消息,直到问题得到解决。
最近我在我的 Firebase Android 应用程序中添加了一些 Espresso 测试,因此 运行 在模拟器上测试它们的总时间增加到大约 8 分钟。
现在,每当我尝试在 Firebase 测试实验室中 运行 我们的 Espresso 测试时,该应用程序总是会因各种原因被 Android OS 终止。示例:
运行ning 在 Nexus 5 模拟器上,API23:测试开始后大约 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 模拟器上尝试了 运行ning,API19(我的 minSdkVersion 是 15):测试开始后大约 20 秒(!),一个关于某些奇美拉 API 的奇怪消息出现并杀死了我 "to update a config":
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 测试实验室会立即注意到进程被终止,并通过标记测试 "failed" 做出响应,原因如下:Process crashed
.
我的问题是:如何在 Firebase 测试实验室中处理 Android OS 的这种行为?创建一个 junit retry @Rule 没有帮助 - 整个过程被终止,没有任何重试机会。
事实证明,这是 Firebase 测试实验室中的暂时性(好吧,至少持续一个月左右)问题。我联系了 Firebase 支持人员,他们每周都会向我发布消息,直到问题得到解决。