2014-11-14 13 views
5

Benim gradle proje ana projede kullanıldığı için bir ana modülü ve kütüphanenin sınıf bir enum içeriyorGradle ProGuard sonra iç sınıfın sembolü bulamıyorum

Bir tek kütüphane, hep şeffaf proguard şaşırtmaca dışlanan içeriyor .

Gradle "sembolü değişken MyEnum bulamıyorum. Hatası" ile yapı üzerinde başarısız olur ve aynı hata da

boyunca hep şeffaf bir classes.jar dosyasını Decompiled bir sınıf içinde bildirilmiş başka bir arayüz, yanı gider Yapım aşamasında oluşturulan kitaplığım ve enum, tam olarak MyClass $ MyEnum olarak bulunamıyor. "MyClass" sınıfı da derlendikten sonra hala doğru yerde var.

bu

benim enum için kullanılan proguard kodu boyunca hep şeffaf geçerli:

-keep,allowoptimization enum com.mypackage.MyClass$MyEnum { 
    public static **[] values(); 
    public static ** valueOf(java.lang.String); 
    **[] $VALUES; 
    public *; 
} 
Özür ProGuard kullanırken, iç sınıflarıyla herhangi bir özel hile var mı herhangi bir kod

yazamazlar

?? Şimdi içimdeki sınıf çıkarılan gibi

cevap

7

testet değil, ama bu çalışması gerekir

-keep class my.outer.Class$MyInnerClass 
-keepattributes InnerClasses