Ich habe unsere App aktualisiert, um das neueste Android Firebase SDK v11.0.0 ( Ссылка ) zu verwenden ) und aus dem plötzlich erscheinenden Haufen neuer Proguard-Fehler, FYI hat alles mit Proguard gut funktioniert.
Vorher:
%Vor%Nachher:
%Vor%Das Problem ist, dass es nicht ein einfacher neuer fehlender Progardeintrag zu sein scheint, aber es scheint, dass es das Ganze kaputt gemacht hat. Plötzlich schienen mehrere andere Bibliotheken von dieser Veränderung betroffen zu sein.
Dies sind die Proguard-Probleme im Zusammenhang mit dem GMS:
%Vor%Zusätzlich war auch OkHttp3 betroffen, siehe folgende Fehler:
%Vor%mehr Infos:
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.google.gms:google-services:3.0.0'
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.4'
}
ext.COMPILE_SDK_VERSION = 25
ext.BUILD_TOOLS_VERSION = "26.0.0"
Es scheint, dass das Android Firebase SDK v11.0.0 zum Scheitern verurteilt ist, das Android Firebase SDK v11.0.1 es ohne zusätzliche Änderungen repariert hat .
Sie können dieses Proguard-Problembehebungshandbuch überprüfen, in dem festgestellt wurde, dass das Problem aufgetreten ist Warnungen, the configuration keeps the entry point
... but not the descriptor class
:
Ihre Konfiguration enthält die Option
-keep
, um die angegebene Methode (oder das Feld) beizubehalten, aber keine Option-keep
für die angegebene Klasse, die im Deskriptor der Methode ein Argument oder ein Rückgabetyp ist. Vielleicht möchten Sie dann auch die Klasse behalten. Andernfalls verschleiert ProGuard seinen Namen und ändert damit die Signatur der Methode. Die Methode könnte dann als Einstiegspunkt nicht mehr gefunden werden. Sie können diese Deskriptorklassen automatisch mit dem% modifier-keep
beibehaltenincludedescriptorclasses
(-betr , includedescriptorclasses ...). Sie können diese Notizen ausschalten, indem Sie die Option-dontnote
angeben.
Für zusätzliche Einblicke können diese SO-Posts ebenfalls hilfreich sein:
Wenn Sie alles zusammenfassen, sollten Sie versuchen, diese beiden Zeilen zu Ihrer Proguard-Konfigurationsdatei hinzuzufügen:
%Vor%Tags und Links android firebase google-play-services okhttp3 android-proguard