Я использую Crashlyti c sdk для сбора Android NDK cra sh отчетов. Пожалуйста, найдите файл конфигурации ниже.
Это хорошо работает, если я запускаю следующую команду: ./gradlew crashlyticsUploadSymbolsXXXRelease
Кроме того, если я добавлю assembleXXXRelease.finalizedBy(crashlyticsUploadSymbolsXXXRelease)
в afterEvaluate
блок, файлы символов также загружаются после каждой сборки.
Вот мои вопросы:
Я хочу, чтобы этот процесс загрузки был автоматизирован c. Проблема, с которой я сталкиваюсь, заключается в том, что финализированный способ добавит еще около 10 минут ко времени сборки, чего я должен избегать. Я предпочитаю создавать новое задание и вызывать его где-то еще после каждой сборки, поэтому время сборки APK останется таким же, как и сейчас. Я пытался сделать это, но, похоже, не работает. Смотрите код ниже. Если у вас есть какие-либо подсказки или я что-то пропустил, пожалуйста, дайте мне знать.
Возможно ли переопределить выходной путь NDK на основе другого варианта? Я попытался получить вариант XXX из имени задачи, например, assbleXXXRelease, и назначить его выходному пути, например, XXX / obj, но не получилось. Похоже, что аромат был установлен по умолчанию.
Возможно ли, что я смогу взять файлы символов cSYM и загрузить их в Crashlytics без Crashlyti c sdk?
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
}
}