2015-10-29 21 views
8

Ora l'unico problema che mi impedisce di utilizzare kotlin in produzione è che non riesco a trovare un file proguard corretto per questo.Esiste una regola proguard valida per RxJava e FasterXML?

Quello che ho usato:

1.Kotlin

2.Anko

3.Jackson-Kotlin modulo

Ecco il messaggio di avviso:

: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

Spiega il tuo problema. Quali regole hai provato, cosa non ha funzionato e quali sono stati gli errori? –

+0

Nessuno degli errori è direttamente collegato a Kotlin. Funziona se si sostituisce il codice Kotlin con Java? –

+0

@AndreyBreslav L'intero progetto è scritto in Kotlin, non posso sostituirlo con Java. – Marvin

risposta

12

una migliore è solo per avere questo AAR come dipendenza:

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

+0

Per coloro che hanno lo stesso problema, ho risolto finalmente in base a questa risposta, con opzioni aggiuntive per gestire i riflessi di kotlin – Marvin

+1

@ Marvin: potresti pubblicare il tuo file proguard? – kenyee

26

Non ha nulla a che fare con Kotlin. Ignora le avvertenze nel file Proguard:

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

Grazie, hai accennato, non ha nulla a che fare con Kotlin. – Sanny