自动为Android NDK崩溃报告上传符号文件

问题描述 投票:0回答:1

我正在使用Crashlytic sdk收集Android NDK崩溃报告。请在下面找到配置文件。

如果运行以下命令,它将很好地工作:./gradlew crashlyticsUploadSymbolsXXXRelease

[另外,如果我将assembleXXXRelease.finalizedBy(crashlyticsUploadSymbolsXXXRelease)添加到afterEvaluate块,则每次构建后也会上传符号文件。

这是我的问题:

  1. 我希望此上传过程是自动的。我面临的问题是finalizedBy方法将使构建时间增加大约10分钟,这是我必须避免的。我更喜欢创建一个新任务,并在每次构建后在其他地方调用它,因此APK的构建时间将与现在相同。我试图这样做,但似乎没有用。请参见下面的代码。如果您有任何线索或我错过了什么,请告诉我。

  2. 是否可以根据不同的口味覆盖NDK输出路径?我试图从任务名称(如assbleXXXRelease)中获取风味XXX,并将其分配给输出路径(如XXX / obj),但失败了。似乎该风味已固定为默认风味。

  3. 是否有可能我可以提取cSYM符号文件并在没有Crashlytic sdk的情况下上传到Crashlytics?

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

// Question 2 will be happening here:
crashlytics {
    enableNdk true
    androidNdkOut "obj" // override the path based on the flavor name to flavorName/obj?
    androidNdkLibsOut "libs" // override the path based on the flavor name to flavorName/libs?
}

dependencies {
    // ...
    implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'

    // Add the Crashlytics NDK dependency
    implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.1.1'
}

// Question 1 will be happening here:
// If I call this task from command line, it won't work. Nothing will happen.
task upload {
    doLast {
        crashlyticsUploadSymbolsXXXRelease
    }
}

afterEvaluate {project ->
    android.applicationVariants.all { variant ->
        assembleXXXRelease.finalizedBy(crashlyticsUploadSymbolsXXXRelease) // it works here
    }
}
firebase crashlytics
1个回答
0
投票
  1. 我希望此上传过程是自动的。我面临的问题是finalizedBy方法将使构建时间增加大约10分钟,这是我必须避免的。我更喜欢创建一个新任务,并在每次构建后在其他地方调用它,因此APK的构建时间将与现在相同。我试图这样做,但似乎不起作用。

我通过如下修改任务来解决此问题:

task upload {
    doLast {
       // do something whatever
    }
}

upload.finalizedBy(crashlyticsUploadSymbolsXXXRelease)
  1. 是否可以根据不同的口味覆盖NDK输出路径?我试图从任务名称(如assbleXXXRelease)中获取风味XXX,并将其分配给输出路径(如XXX / obj),但失败了。似乎该样式已固定为默认样式。

我已经通过调用此工作来获取当前的风味名称

gradle.startParameter.taskName[0]
  1. 是否有可能我可以提取cSYM符号文件并在没有Crashlytic sdk的情况下上传到Crashlytics?

我尚未找到解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.