我有几个长期存在的 Android 应用程序项目,我在离开几个月后于本周返回。
当我在这些项目中运行
connectedAndroidTest
(特别是:connectedDebugAndroidTest
)Gradle 任务时,Gradle 任务会无限期挂起,Android 设备上不会运行任何测试。这在以下屏幕截图中得到了证明:
到目前为止,我已经在以下环境中测试并观察到这种行为:
还有其他人遇到这种情况吗?您找到问题的根本原因了吗?
我剥离了我的应用程序项目中的构建工具和库,并设法找到了问题的根本原因。
问题是以下依赖声明:
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。