0

Ich habe eine Frage, die meist bezieht sich auf Gradle.Crashlytics NDK Symbole und Gradle Aufgaben

Ich verwende Crashlytics, um NDK-Abstürze in meiner Android-App zu melden. Ich habe eine Aufgabe in build.gradle, die ndk-build aufruft und die cpp-Dateien in eine .so-Datei kompiliert. Am Ende dieser Aufgabe möchte ich eine Aufgabe aufrufen, die das generierte Symbol-Mapping nach Crashlytics hochlädt.

Nach der Installation des Fabric-Plugins in Android Studio sah ich, dass einige neue Aufgaben zur Registerkarte Gradle hinzugefügt wurden. Einer davon ist crashlyticsUploadSymbols [buildType] [Geschmack] wobei BuildType und Flavor angeben, welcher Buildtyp und welches Flavour aktuell ausgewählt ist.

Diese Aufgabe scheint eine Symboldatei hochzuladen.

Meine Frage ist, Ist es möglich, diese Aufgabe innerhalb von build.gradle aufzurufen? Zur Zeit verwende ich einen manuellen Aufruf im Android Studio Endanschlussstreifen in Form von:

./gradlew crashlyticsUploadSymbols [buildType] [Geschmack]

Ist es möglich, aus build.gradle irgendwie um diese Aufgabe zu nennen?

Um diese Aufgabe aufzurufen, verwende ich finalizedBy am Ende der buildNdk-Aufgabe. Sobald buildNdk beendet ist, wird die Upload-Aufgabe ausgeführt.

auch sehr wichtig, wie kann ich den aktuellen buildType und Geschmack bekommen, so bin ich in der Lage, es zu den crashlyticsUploadSymbols nennen hinzufügen?

Vielen Dank!

Antwort

1

Mike von Crashlytics und Fabric hier.

Dies wurde auch auf dem Twitter Community-Forum beantwortet, aber hier die gleiche Antwort zu teilen.

Option 1:

Wenn Sie nur wollen oder müssen Symbole hochladen für Ihre Version baut, dann können Sie crashlticsUploadSymbolsRelease als finalizedBy Aufgabe für Ihre NDK-Build-Task gesetzt.

Option 2: Wenn Sie mehrere Variante basierte Aufgaben haben, können Sie wie etwas tun:

android.applicationVariants.all { variant -> 
    def variantName = variant.name.capitalize() 
    def task = project.task ("ndkBuild${variantName}") 
    task.finalizedBy project.("crashlyticsUploadSymbols${variantName}") 
} 
+0

Dies funktioniert nicht für mir, ich bekomme 'Fehler: (101, 0) kann nicht Aufgabe hinzufügen': App: externalNativeBuildProdDebug 'als eine Aufgabe mit diesem Namen existiert bereits. 'Open File' so müssen immer noch manuell hochladen :( – marchinram

+0

Klingt, als ob Sie eine doppelte Aufgabe haben, aber ich würde empfehlen, eine neue Frage mit mehr Details zu veröffentlichen. –

0

Nachfolgend ist die Arbeit für mich getan hat:

android { 
... 
    afterEvaluate { 
     assembleDebug.finalizedBy(crashlyticsUploadSymbolsDebug) 
     assembleRelease.finalizedBy(crashlyticsUploadSymbolsRelease) 
    } 
} 
+0

Dies bietet keine Antwort auf die Frage. Sobald Sie genügend [ Reputation] (https://stackoverflow.com/help/whats-reputation) können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); stattdessen [Antworten darauf geben, dass erfordern keine Klärung der Fragesteller] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead) . - [Aus Bewertung] (/ review/low-quality-posts/18173943) – thewaywewere

Verwandte Themen