android { //... buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile( 'proguard-android-optimize.txt'), 'proguard-rules.pro' } }
applicationVariants.all { variant ->
variant.outputs.all { output ->
def newFile = output.mappingFile
output.mappingFile = new File(project.buildDir,
"outputs/mapping/${output.getDirName()}/mapping.txt")
println("New Mapping path: " + newFile + " > " + output.mappingFile)
}
}
}
这样可以将映射文件的输出路径更改为构建目录中的一个独立文件夹。记得在 uploadArchives 任务中,将下面的代码添加到控制台输出中:
def mappingFileUploadTask = tasks.getByName("uploadCrashlyticsMappingFileRelease") mappingFileUploadTask.doFirst { applicationVariants.all { variant -> variant.outputs.all { output -> output.mappingFile = new File(project.buildDir, "outputs/mapping/${output.getDirName()}/mapping.txt") } } }
dependencies { //... implementation 'com.crashlytics.sdk.android:crashlytics:2.9.8' }
apply plugin: 'com.google.firebase.firebase-perf'
buildscript { repositories { // ... maven { url 'http://download.crashlytics.com/maven' } }
dependencies {
// ...
classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:2.6.7'
}
}
import com.crashlytics.tools.gradle.tasks.UploadMappingFileTask
android.applicationVariants.all { variant -> def variantName = variant.name.capitalize() def variantOutputs = variant.outputs variantOutputs.all { def mappingFile = getMappingFile(variant