2015-11-09 4 views
1

Я пытаюсь импортировать Roboguice, но когда я это делаю, я получаю кучу ошибок Proguard.Проблемы с Proguard с Roboguice 3

Я рассмотрел другие вопросы, но ни один из ответов не работает для меня. Я пытаюсь импортировать Roboguice 3 для использования SDK Coinbase Android, который, как ожидается, потребуется. Кажется, он ищет библиотеки sherlock, которые я не использую.

Моя ошибка в градиенте длинная, поэтому ее можно найти here.

Мои Proguard является:

-dontobfuscate 
-dontoptimize 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-verbose 
-dump ../bin/class_files.txt 
-printseeds ../bin/seeds.txt 
-printusage ../bin/unused.txt 
-printmapping ../bin/mapping.txt 

# The -optimizations option disables some arithmetic simplifications that Dalvik 1.0 and 1.5 can't handle. 
-optimizations !code/simplification/arithmetic 

-keep public class * extends android.app.Activity 
-keep public class * extends android.app.Application 
-keep public class * extends android.app.Service 
-keep public class * extends android.content.BroadcastReceiver 
-keep public class * extends android.content.ContentProvider 
-keep class com.google.inject.Binder 
-keepclassmembers class * { 
    @com.google.inject.Inject <init>(...); 
} 
# There's no way to keep all @Observes methods, so use the On*Event convention to identify event handlers 
-keepclassmembers class * { 
    void *(**On*Event); 
} 
-keep public class * extends android.view.View { 
    public <init>(android.content.Context); 
    public <init>(android.content.Context, android.util.AttributeSet); 
    public <init>(android.content.Context, android.util.AttributeSet, int); 
    public void set*(...); 
} 
-keep public class roboguice.** 
-dontwarn javax.** 
-dontwarn com.actionbarsherlock.internal.** 
-dontwarn robojuice.activity.** 

ответ

0

Чтобы сделать окончательные предупреждения уйти, так что завершит компиляцию:

-dontwarn roboguice.** 
-dontwarn org.roboguice.** 

Однако, это работает только, если она действительно не нужна эта библиотека (и другие классы, которые он упоминает в строках Warning:) и не загружают его. Если он попытается во время выполнения, он потерпит крах.

Как всегда, ИСПЫТАТЬ ВСЕ КОДИРОВАНИЕ КОДОВ, так как это часто встречается при ошибках впрыска зависимостей во время выполнения, особенно при использовании ProGuard.