为什么“connectedDebugAndroidTest”Gradle 任务在我的 Android 应用程序项目中无限期挂起?

问题描述 投票:0回答:1

我有几个长期存在的 Android 应用程序项目,我在离开几个月后于本周返回。

当我在这些项目中运行

connectedAndroidTest
(特别是:
connectedDebugAndroidTest
)Gradle 任务时,Gradle 任务会无限期挂起,Android 设备上不会运行任何测试。这在以下屏幕截图中得到了证明:

到目前为止,我已经在以下环境中测试并观察到这种行为:

  1. Android Studio Electric Eel (2022.1.1 Patch 2) 运行于 macOS Ventura 13.1.
  2. 在 macOS Ventura 13.1 上运行的 Android Studio Dolphin(2021.3.1 补丁 1)
  3. Android Studio Dolphin(2021.3.1 补丁 1)运行于 macOS Monterey 12.6.3.

还有其他人遇到这种情况吗?您找到问题的根本原因了吗?

android-studio android-testing
1个回答
0
投票

我剥离了我的应用程序项目中的构建工具和库,并设法找到了问题的根本原因。

问题是以下依赖声明:

debugImplementation 'androidx.fragment:fragment-testing:1.5.5'

我创建了一个最小的 Android 应用程序项目 here 来演示这个问题。在这个项目中运行

connectedDebugAndroidTest
Gradle 任务,您会观察到 Gradle 任务无限期挂起。将本项目的
build.gradle
文件中的androidx.fragment:fragment-testing依赖去掉,重新运行
connectedDebugAndroidTest
Gradle任务。这次您会观察到 Gradle 任务会迅速完成。

如果您的项目确实需要

androidx.fragment:fragment-testing
库,解决方法是将您的
androidx.fragment:fragment-testing
依赖声明更改为以下内容:

debugImplementation 'androidx.fragment:fragment-testing-manifest:1.6.0-alpha07'
androidTestImplementation 'androidx.fragment:fragment-testing:1.6.0-alpha07'

有关

androidx.fragment:fragment-testing
依赖声明的详细讨论,请参阅 IssueTracker 中的 Issue #128612536

© www.soinside.com 2019 - 2024. All rights reserved.