2016-04-05 30 views
8

AutoValue'u kullanmaya yeni başladım ancak proguard ile çalışmasını sağlayamıyorum. Aslında hataları bu gösteren buOtomatik Değerle Proguard

Warning:autovalue.shaded.com.google.common.auto.common.MoreElements$1: can't find superclass or interface javax.lang.model.util.SimpleElementVisitor6

benziyor etrafında 6000+ uyarıları ...

Error:Execution failed for task ':transformClassesAndResourcesWithProguardForDebug'. java.io.IOException: Please correct the above warnings first.

Nasıl bu sorunu çözebilir mi var?

+0

Bunun için bir çözüm buldunuz mu? Hala compileOnly' kullanıldıktan sonra – AndroidGecko

cevap

12

Eğer projenin compile bağımlılık olarak kütüphaneyi eklemiş beri bu oluyor

düzeltme. Böyle bir şey:

dependencies { 
    provided 'com.google.auto.value:auto-value:1.2' 
} 

Not: provided yapılandırma Android Gradle eklenti tarafından kullanıma sunulan

dependencies { 
    compile 'com.google.auto.value:auto-value:1.2' 
} 

Sen kütüphaneye bir provided bağımlılık yapmak gerekir. Saf Java kütüphanesi modülünde AutoValue kullanıyorsanız, Gradle 2.12'de eklenen compileOnly yapılandırmasını kullanın.

açıklama

AutoValue sizin için kod üreten bir kütüphanedir. Kütüphane ile olan tek etkileşiminiz RetentionPolicy.SOURCE olan @AutoValue ek açıklamalarıyla olmalıdır - yani sadece kaynak kodunuzda derlenmiş kodda bulunmazlar.

Bu, derlenmiş kodunuzun AutoValue kitaplık koduyla hiçbir bağlantısının olmadığı anlamına gelir. Yani, kodunuzla derlenmeye gerek yoktur - bu ProGuard'ın çalıştığı koddur.

+1

, aynı hatayı alıyorum. –