Proguard с Android и клиентом API Google

в первую очередь, извините, если на эту тему ответили, но я ее не нашел...

Я новичок в Android и Proguard. Конечно, в конце разработки моей аппликации я хочу уменьшить ее размер, используя proguard. Поскольку я использую некоторые библиотеки из клиента google api в своем приложении, я добавил их в качестве внешних баннеров.

Хорошо, мое приложение работает нормально, не проходя шаг proguard, но когда я пытаюсь его экспортировать, он начинает мою головную боль. Много предупреждений, которые я не знаю, как пропустить или устроить. Что-то вроде этого:

[2012-03-05 07:20:06 - CollaJoveThreads] Proguard returned with error code 1. See console
[2012-03-05 07:20:06 - CollaJoveThreads] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable
[2012-03-05 07:20:06 - CollaJoveThreads] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable
[2012-03-05 07:20:06 - CollaJoveThreads] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable
[2012-03-05 07:20:06 - CollaJoveThreads] Warning: com.google.common.base.Equivalences$Impl$1: can't find referenced class javax.annotation.Nullable
[2012-03-05 07:20:06 - CollaJoveThreads] Warning: com.google.common.base.Equivalences$Impl$1: can't find referenced class javax.annotation.Nullable

и более похожим.

Я следил за рекомендациями разработчиков Google и добавил эти строки в свой proguard.cfg:

# Needed by google-api-client to keep generic types and @Key annotations accessed via reflection
-keepclassmembers class * {
  @com.google.api.client.util.Key <fields>;
}

-keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault,*Annotation*

-dontwarn sun.misc.Unsafe

но он продолжает появляться все эти предупреждающие сообщения. И когда я попытался использовать параметр -dontwarn, мое приложение выйдет из строя.

Я прочитал эти вопросы и многое другое:

Может ли кто-нибудь помочь?

Ответ 1

Привет, я знаю, что это уже было решено путем добавления в файл jar файла jsr305 к вашему проекту. Однако мне потребовалось некоторое время, чтобы разобраться, где я могу найти эту банку и что с ней делать.

Вы можете получить последнюю версию этого банку в здесь Загрузите последнюю банку и поместите ее в свою папку libs, а затем добавьте ее на ваш путь сборки в Eclipse, и все должно быть направо.

Это также устранило все мои проблемы.