2015-10-29 9 views
8

Das einzige Problem, das mich daran hindert, Kotlin in der Produktion zu verwenden, ist, dass ich keine korrekte Proguard-Datei dafür finden kann.Gibt es eine gültige Proguard-Regel für RxJava und FasterXML?

Was ich verwendet:

1.Kotlin

2.Anko

3.Jackson-Kotlin-Modul

Hier ist die Warnmeldung:

:app:proguardRelease 
Warning: com.fasterxml.jackson.databind.ext.DOMSerializer: can't find referenced class org.w3c.dom.bootstrap.DOMImplementationRegistry 
Warning: rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef: can't find referenced class sun.misc.Unsafe 
Warning: rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef: can't find referenced class sun.misc.Unsafe 
Warning: rx.internal.util.unsafe.ConcurrentCircularArrayQueue: can't find referenced class sun.misc.Unsafe 
Warning: rx.internal.util.unsafe.ConcurrentSequencedCircularArrayQueue: can't find referenced class sun.misc.Unsafe 
Warning: rx.internal.util.unsafe.MpmcArrayQueueConsumerField: can't find referenced class sun.misc.Unsafe 
Warning: rx.internal.util.unsafe.MpmcArrayQueueProducerField: can't find referenced class sun.misc.Unsafe 
Warning: rx.internal.util.unsafe.MpscLinkedQueue: can't find referenced class sun.misc.Unsafe 
Warning: rx.internal.util.unsafe.SpmcArrayQueueConsumerField: can't find referenced class sun.misc.Unsafe 
Warning: rx.internal.util.unsafe.SpmcArrayQueueProducerField: can't find referenced class sun.misc.Unsafe 
Warning: rx.internal.util.unsafe.SpscArrayQueue: can't find referenced class sun.misc.Unsafe 
Warning: rx.internal.util.unsafe.UnsafeAccess: can't find referenced class sun.misc.Unsafe 
Warning: there were 41 unresolved references to classes or interfaces. 
+1

Bitte Ihr Problem beschreiben. Welche Regeln hast du ausprobiert, was hat nicht funktioniert und was waren die Fehler? –

+0

Keiner der Fehler ist direkt mit Kotlin verbunden. Funktioniert es, wenn Sie Kotlin-Code durch Java ersetzen? –

+0

@AndreyBreslav Das ganze Projekt ist in Kotlin geschrieben, ich kann es nicht durch Java ersetzen. – Marvin

Antwort

12

besser ist gerade diese aar als Abhängigkeit haben:

https://github.com/artem-zinnatullin/RxJavaProGuardRules

+0

Für diejenigen, die mit dem gleichen Problem kommen, habe ich schließlich mit dieser Antwort gelöst, mit zusätzlichen Optionen behandeln Kotlin Reflexionen – Marvin

+1

@Marvin: könnten Sie Ihre Proguard-Datei posten? – kenyee

26

Es hat nichts mit Kotlin zu tun. Ignorieren Sie die Warnungen in Ihrer proguard Datei:

-dontwarn sun.misc.Unsafe 
-dontwarn org.w3c.dom.bootstrap.DOMImplementationRegistry 
+0

Dank Sie erwähnt, es hat nth mit Kotlin zu tun. – Sanny