Proguard с Android и Google API Client - PullRequest
11 голосов
/ 05 марта 2012

Прежде всего, извините, если на эту тему ответили, но я ее не нашел ...

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

Что ж, мое приложение работает нормально, без прохождения шага 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 Ответ

16 голосов
/ 20 июня 2012

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...