Начиная с Guava 17.0 , это то, что мне было нужно в конфигурации ProGuard:
-dontwarn javax.annotation.**
-dontwarn javax.inject.**
-dontwarn sun.misc.Unsafe
В противном случае сборка завершится неудачно с такими предупреждениями, как:
Warning: com.google.common.base.Absent:
can't find referenced class javax.annotation.Nullable
(Это потому, что Гуава использует аннотации , которые не являются частью среды выполнения Android (android.jar). В этом случае можно просто отключить предупреждения.)
Если вы используете Gradle в качестве инструмента для сборки , вышеприведенный proguard-project.txt
и следующий в build.gradle
образуют оптимизированный и запутанный APK при использовании Guava.
buildTypes {
release {
minifyEnabled true
proguardFile file('proguard-project.txt')
proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
}
}
В качестве альтернативы вы можете включить зависимость в jsr305.jar в build.gradle
зависимости:
compile 'com.google.code.findbugs:jsr305:2.0.2'
... только с -dontwarn sun.misc.Unsafe
в конфигурации ProGuard, но я предпочел использовать -dontwarn
также для javax
.