Progruard und R8 sind veraltet - Android Studio 3.6


9

Nach dem Upgrade meines Android Studio auf 3.6 erhalte ich veraltete Warnungen in Bezug auf Proguard und R8. Bedeutet das, dass wir in unseren Projekten keine Verschleierung verwenden sollten, oder gibt es eine andere gleichwertige Option, die wir beim Erstellen im Release-Modus in Betracht ziehen sollten?

Die Option 'android.enableR8' ist veraltet und sollte nicht mehr verwendet werden. Es wird in einer zukünftigen Version des Android Gradle-Plugins entfernt und ermöglicht Ihnen nicht mehr, R8 zu deaktivieren. Betroffene Module: etc.


Können Sie bitte die Nachrichten teilen, die Sie erhalten?
Anton Baranenko

Können Sie klarstellen, was Sie in diesem Zusammenhang unter "veralteten Warnungen" verstehen? Der eigentliche Text der Warnungen könnte helfen.
Peter Tefft

Ich erinnere mich nicht an die genaue Nachricht, aber sie besagte, dass sie veraltet ist. Randnotiz: Ich habe es nach dem Upgrade auf Android Studio 3.6
Rixment

Um eine Antwort zu erhalten, sollten Sie die vollständige, genaue Warnmeldung veröffentlichen. Zum Beispiel ist die useProGuardEinstellung vor einiger Zeit veraltet - vielleicht haben Sie das gesehen und erinnern sich falsch daran.
Michael

Ich habe diese Woche auf R8 useProGuardumgestellt und alles aus meinem Gradle entfernt
Rixment

Antworten:


7

Bedeutet das, dass wir in unseren Projekten keine Verschleierung verwenden sollten?

Nein. Sie können Verschleierungs- und Optimierungswerkzeuge verwenden.

Gibt es eine andere äquivalente Option, die wir beim Erstellen im Release-Modus berücksichtigen sollten?

Wenn Sie android.enableR8 = truein Ihrem haben gradle.properties, entfernen Sie es als R8 als Standardwerkzeug und die android.enableR8Einstellung selbst ist veraltet, was zu diesen Verfallswarnungen führt.

Wenn Sie android.enableR8 = falseProguard zur Optimierung und Verschleierung verwenden müssen, sollten Sie stattdessen auf R8 migrieren.


Wie kann das Projekt verschleiert werden? Ich habe alle angegebenen Eigenschaften entfernt und gesagt, dass die Abhängigkeit von R8 von build.gradle entfernt werden soll. Ich kann das Projekt nicht mehr kompilieren. Ich erhalte R8NullPointerException. Was ist das?
Lena Bru

Das sieht nach etwas aus, das über den Rahmen des Kommentarbereichs hinausgeht.
Laalto

@laalto Was ich aus Ihrer Antwort erhalten habe, ist, dass R8 automatisch funktioniert, sodass Sie nichts hinzufügen müssen android.enableR8 = true, oder?
Mohamed

@Mohamed Das verstehe ich auch, vorausgesetzt du hast das Android Gradle Plugin 3.6 oder neuer.
Laalto
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.