"androidx.fragment:fragment-testing" 库的 debugImplementation 发布构建变体失败

Release build variant failed with debugImplementation for "androidx.fragment:fragment-testing" library

预计

Debugrelease 构建应用程序的变体以成功构建和编译。

观察到

release 构建变体中,由于 androidx.fragment:fragment-testing 库,应用程序无法编译。

库实现

build.gradle (:app)

debugImplementation "androidx.fragment:fragment-testing:1.2.2"

完整的实现可以在 GitHub repository for Coinverse.

中找到

错误

由于未解析对 androidx 库的引用,构建失败。

import androidx.activity.viewModelsimport androidx.lifecycle.AbstractSavedStateViewModelFactoryimport androidx.lifecycle.SavedStateHandleimport androidx.lifecycle.lifecycleScopeimport androidx.fragment.app.activityViewModels

环境详细信息

在添加以下库时,应用程序按 release 构建变体中的预期构建和编译。

implementation "androidx.fragment:fragment-ktx:$fragment_version"

这个库存在于早期版本中,但最近被删除,因为在没有它的 debug 构建变体中一切都按预期工作。

现在 fragment-testing 可以编辑为使用 debugImplementation

debugImplementation "androidx.fragment:fragment-testing:1.2.2"

一个简单易行的解决方案是在发布测试作业中阻止片段测试运行,例如:

@Before
fun setup() {
    assumeTrue("Skipping non-debug test", BuildConfig.DEBUG)
}

Here's a blog post for more details