这个错误通常在使用Crashlytics插件时出现。它与使用ProGuard混淆器有关。为了解决这个错误,我们需要更新Gradle和Crashlytics到最新版本,并在build.gradle文件中添加以下行:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath 'io.fabric.tools:gradle:1.31.1'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.example.app"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'
}
如果仍然出现错误,请在build.gradle文件中删除以下行:
task findObfuscationTransformTask() {
doLast {
def found = false
android.getTransformManager().getTransforms().each {
if (it.class.name.endsWith('ObfuscationTransform')) {
println "Found obfuscation transform $it"
found = true
return
}
}
if (!found) {
throw new GradleException("Couldn't find obfuscation transform!")
}
}
}
然后重新构建你的项目。这个错误应该就解决了。