如何自动上传 Crashlytics 符号

How to upload Crashlytics symbols automatically

我的 Android 项目由库和应用程序组成。该库有 C++ 代码,因此它使用 NDK 支持。我正在努力将 Crashlytics 集成到项目中,我想在构建 release 后自动上传符号。

图书馆的build.gradle如下所示:

// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
    def ndkDir = android.ndkDirectory
    commandLine "$ndkDir\ndk-build.cmd",
            '-C', file('../../Android_Jni').absolutePath,
            '-j', Runtime.runtime.availableProcessors()
}

task upload {
    doLast {
        println('Uploading...')
        crashlyticsUploadSymbolsRelease
    }
}

ndkBuild.finalizedBy(upload)

tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn ndkBuild
}

上传似乎有效,但是当我构建 debugrelease 风格(我 select 在在 Android Studio 中构建变体)。 是否可以修改脚本,使其仅在发布构建完成后才上传符号?

像这样:

if (gradle.startParameter.taskNames && gradle.startParameter.taskNames[0].endsWith('Release') ) {
    ndkBuild.finalizedBy(upload)
}