Mehrere neue Proguard-Dienste stellen in einem Multidex-Projekt die Google Play-Dienste 10.2.6 bis 11.0.0 bereit

8

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"

    
Alécio Carvalho 09.06.2017, 15:02
quelle

2 Antworten

1

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 .

    
Alécio Carvalho 19.06.2017, 17:22
quelle
0

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 beibehalten includedescriptorclasses (-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%     
Teyam 10.06.2017 11:12
quelle