2012-03-05 3 views
11

первую очередь, жаль, если эта тема уже ответил, но я не нашел его ...Proguard с клиентом API Android и 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-1.3.9 '(я раньше этого не понимал). Спасибо за все. – emiquelgavalda

ответ

16

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

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

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

+11

Для пользователей Gradle просто добавьте 'compile 'com.google.code.findbugs: jsr305: 2.0.2'' в зависимости build.gradle. – Jonik

Смежные вопросы