"androidx.fragment:fragment-testing" 库的 debugImplementation 发布构建变体失败
Release build variant failed with debugImplementation for "androidx.fragment:fragment-testing" library
预计
Debug 和 release 构建应用程序的变体以成功构建和编译。
观察到
在 release 构建变体中,由于 androidx.fragment:fragment-testing
库,应用程序无法编译。
库实现
build.gradle (:app)
debugImplementation "androidx.fragment:fragment-testing:1.2.2"
完整的实现可以在 GitHub repository for Coinverse.
中找到
错误
由于未解析对 androidx
库的引用,构建失败。
即import androidx.activity.viewModels
、import androidx.lifecycle.AbstractSavedStateViewModelFactory
、import androidx.lifecycle.SavedStateHandle
、import androidx.lifecycle.lifecycleScope
、import androidx.fragment.app.activityViewModels
等
环境详细信息
- Gradle版本:3.6.1
- Android 工作室:3.6.1
- 构建 #AI-192.7142.36.36.6241897
- 运行时版本:1.8.0_212-release-1586-b4-5784211 x86_64
- VM:JetBrains 的 OpenJDK 64 位服务器 VM s.r.o
- macOS 10.15.3
- GC:ParNew,ConcurrentMarkSweep
- 内存:1979M
- 核心数:16
- 注册表:ide.new.welcome.screen.force=true
- 非捆绑插件:com.android.tool.sizereduction.plugin、mobi.hsz.idea.gitignore、org.jetbrains.kotlin、cn.wjdghd.unique.plugin.id、com.developerphil.adbidea、com.google.services.firebase
在添加以下库时,应用程序按 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)
}
预计
Debug 和 release 构建应用程序的变体以成功构建和编译。
观察到
在 release 构建变体中,由于 androidx.fragment:fragment-testing
库,应用程序无法编译。
库实现
build.gradle (:app)
debugImplementation "androidx.fragment:fragment-testing:1.2.2"
完整的实现可以在 GitHub repository for Coinverse.
中找到错误
由于未解析对 androidx
库的引用,构建失败。
即import androidx.activity.viewModels
、import androidx.lifecycle.AbstractSavedStateViewModelFactory
、import androidx.lifecycle.SavedStateHandle
、import androidx.lifecycle.lifecycleScope
、import androidx.fragment.app.activityViewModels
等
环境详细信息
- Gradle版本:3.6.1
- Android 工作室:3.6.1
- 构建 #AI-192.7142.36.36.6241897
- 运行时版本:1.8.0_212-release-1586-b4-5784211 x86_64
- VM:JetBrains 的 OpenJDK 64 位服务器 VM s.r.o
- macOS 10.15.3
- GC:ParNew,ConcurrentMarkSweep
- 内存:1979M
- 核心数:16
- 注册表:ide.new.welcome.screen.force=true
- 非捆绑插件:com.android.tool.sizereduction.plugin、mobi.hsz.idea.gitignore、org.jetbrains.kotlin、cn.wjdghd.unique.plugin.id、com.developerphil.adbidea、com.google.services.firebase
在添加以下库时,应用程序按 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)
}