android - R8:无法约束类型:@Nullable androidx.transition.ViewGroupUtilsApi14 {} 用于值:v3 通过约束:INT
问题描述
我收到错误R8: Cannot constrain type: @Nullable androidx.transition.ViewGroupUtilsApi14 {} for value: v3 by constraint: INT当我尝试创建 Android App 的发布版本时,此错误是由 Android R8 引起的。失败的任务是:app:transformClassesAndResourcesWithR8ForRelease并且错误消息没有提供足够的信息。下面是我完整的 gradle 配置。
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'
android {
lintOptions{
checkReleaseBuilds false
abortOnError false
}
compileSdkVersion 29
buildToolsVersion "29.0.2"
dexOptions {
javaMaxHeapSize "4G"
}
defaultConfig {
applicationId "com.sample.app"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
moduleName "Lame"
ldLibs "log"
}
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar, *.so'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.firebase:firebase-auth:19.1.0'
implementation 'com.google.firebase:firebase-storage:19.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.firebase:firebase-database:19.1.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.annotation:annotation:1.1.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.squareup.picasso:picasso:2.5.0'
}
如果我禁用minifyEnabled
属性,则 apk 会成功生成。由于 R8 是 Android 的新功能,我只想包含它来混淆和缩减资源。我怎样才能找到这个问题的根本原因?以前有人遇到过这个问题吗?
此外,java.lang.NegativeArraySizeException
当我运行gradlew app:transformClassesAndResourcesWithR8ForRelease --stacktrace
命令时,我也会得到。以下是上述命令的完整堆栈跟踪。
- 例外是:org.gradle.api.tasks.TaskExecutionException:任务':app:transformClassesAndResourcesWithR8ForRelease'的执行失败。在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:151) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:148) 在 org .gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:191) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:141) 在 org.gradle.api.internal.tasks .execution.ResolveBeforeExecutionStateTaskExecuter.execute(ResolveBeforeExecutionStateTaskExecuter.java:75) 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:62) 在 org.
解决方案
推荐阅读
- javascript - JavaScript 布尔函数允许多次返回
- selection-sort - 为什么我的输出在选择排序中以错误的顺序打印?
- r - 为什么 rev(factor) 不能作为反转 dplyr::top_n() 的 wt 参数的一种方式?
- python - 如何从每个条目的 JSON 文件中提取数据?
- angular - Angular Material Datepicker 中没有导出成员 MatCalendarCellClassFunction
- css - 如何仅使用 CSS 创建带有过渡的可选渐变叠加文本?
- python - Python Pandas:按多列对数据框进行排序,但排序顺序不同
- model - 我的应用程序需要一个长度为 32 个字母数字字符的 model_id,而我得到的所有标签都是像“General”这样的标签
- jquery - 如何使用epplus通过ajax调用返回excel文件
- angular - 如何使用角度模型从 API 获取数据