Android 仪器测试中的“additional_test_output”?

Jer*_*101 13 android android-test-orchestrator

运行 Android Instrumented Tests,gradle 任务:app:connectedDebugAndroidTest现在在成功测试运行后打印红色警告:

Feb 12, 2022 11:53:02 PM com.android.tools.utp.plugins.host.additionaltestoutput.AndroidAdditionalTestOutputPlugin deviceShellAndCheckSuccess
WARNING: Shell command failed (1): ls "/sdcard/Android/media/<APP_NAME>/additional_test_output"
ls: /sdcard/Android/media/<APP_NAME>/additional_test_output: No such file or directory

Feb 12, 2022 11:53:02 PM com.android.tools.utp.plugins.host.additionaltestoutput.AndroidAdditionalTestOutputPlugin afterAll
WARNING: Failed to retrieve additional test outputs from device.
com.android.ddmlib.SyncException: Remote object doesn't exist!
    at com.android.ddmlib.SyncService.pullFile(SyncService.java:341)
    ...
Run Code Online (Sandbox Code Playgroud)

确实模拟器没有这样的文件,但是之前测试并没有想到会创建它。

问:有办法解决这个警告吗?这是测试协调器错误吗?(我不打算破解测试来创建空文件。)

环境: MBP 上的 Android Studio、com.android.tools.build:gradle:7.1.1APIandroidx.test:orchestrator:1.4.1级别 26 - 32 的 Android 模拟器,有些带有 Google API,有些没有 Google API;也在 API 级别 31 的 Pixel 3 设备上。

在 API 级别 21 - 25 的模拟器上,它会打印(不是用醒目的红色文本):

additionalTestOutput is not supported on this device running API level 25 because the additional test output directory could not be found
Run Code Online (Sandbox Code Playgroud)

Jer*_*101 6

成功:从版本 7.1.2升级Android Gradle 插件->版本 7.2.0-beta04修复了此问题!

AGP发行说明说 AGP 7.2 需要Gradle Version 7.3+,所以我选择了最新版本,目前是 Gradle Version 7.4.1。(仅升级 Gradle 并不能解决问题。这并不奇怪,因为该问题特定于 Android 测试。)

脚步:

  1. 打开 Android Studio 的File>Project Structure...对话框。
  2. 选择 Android Gradle 插件版本 7.2.0-beta04 或更高版本。(在 7.2+ 的完整版本发布之前,我更喜欢 beta 版本而不是 7.3 alpha。)
  3. 选择 Gradle 版本 7.3 或更高版本。
  4. 好的。
  5. Build>Rebuild Project以防万一。