"kann keine referenzierte Klasse finden" mit Proguard und Kotlin

8

Ich habe ein seltsames Problem mit Proguard und Kotlin. Ich wandle ein proguartiertes Projekt nach und nach in Kotlin um - was bis jetzt sehr gut gelaufen ist, aber ich bekomme Fehler beim Konvertieren bestimmter Klassen. Ich konnte noch nicht isolieren, was die besondere Eigenschaft dieser Klassen ist, also bricht sie - sie scheinen sich nicht von den anderen zu unterscheiden. Als ein Beispiel ist InputStreamWithSource nur:

%Vor%

und es funktioniert vollständig in der IDE - ich kann auf einem Gerät bereitstellen - auch alle UI-Tests laufen gut. Nur wenn ich versuche, das Projekt zu veröffentlichen, bekomme ich Bugs, die ich nicht verstehe:

%Vor%

Wenn ich ein dontwarn für diese Klassen in der Proguard-Konfiguration hinzufüge, stürzt es zur Laufzeit ab - also werden diese Klassen wirklich entfernt - aber sie sollten nicht entfernt werden, wenn sie benutzt werden.

Ich kann dieses Problem umgehen, indem ich class / enum für diese Klassen in der proguard-config beibehalte - aber die Frage ist, warum das für diese Klassen benötigt wird - IMHO sollte es nicht gebraucht werden

Hat irgendjemand eine Idee, was könnte dies verursachen oder wie wird dieses Problem am besten untersucht? Die vollständige Quelle ist hier: Ссылка

    
ligi 25.05.2016, 08:13
quelle

1 Antwort

1

Ich würde sicherstellen, dass ich mein eigenes Paket in proguard definiert habe - etwa so:

%Vor%     
Ray Hunter 20.02.2017 22:16
quelle