我正在使用Crashlytic sdk收集Android NDK崩溃报告。请在下面找到配置文件。
如果运行以下命令,它将很好地工作:./gradlew crashlyticsUploadSymbolsXXXRelease
[另外,如果我将assembleXXXRelease.finalizedBy(crashlyticsUploadSymbolsXXXRelease)
添加到afterEvaluate
块,则每次构建后也会上传符号文件。
我希望此上传过程是自动的。我面临的问题是finalizedBy方法将使构建时间增加大约10分钟,这是我必须避免的。我更喜欢创建一个新任务,并在每次构建后在其他地方调用它,因此APK的构建时间将与现在相同。我试图这样做,但似乎没有用。请参见下面的代码。如果您有任何线索或我错过了什么,请告诉我。
是否可以根据不同的口味覆盖NDK输出路径?我试图从任务名称(如assbleXXXRelease)中获取风味XXX,并将其分配给输出路径(如XXX / obj),但失败了。似乎该风味已固定为默认风味。
是否有可能我可以提取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
}
}
- 我希望此上传过程是自动的。我面临的问题是finalizedBy方法将使构建时间增加大约10分钟,这是我必须避免的。我更喜欢创建一个新任务,并在每次构建后在其他地方调用它,因此APK的构建时间将与现在相同。我试图这样做,但似乎不起作用。
我通过如下修改任务来解决此问题:
task upload {
doLast {
// do something whatever
}
}
upload.finalizedBy(crashlyticsUploadSymbolsXXXRelease)
- 是否可以根据不同的口味覆盖NDK输出路径?我试图从任务名称(如assbleXXXRelease)中获取风味XXX,并将其分配给输出路径(如XXX / obj),但失败了。似乎该样式已固定为默认样式。
我已经通过调用此工作来获取当前的风味名称
gradle.startParameter.taskName[0]
- 是否有可能我可以提取cSYM符号文件并在没有Crashlytic sdk的情况下上传到Crashlytics?
我尚未找到解决方案。