2013-09-09 2 views
6

Я использую proguard успешно, но всякий раз, когда я добавляю внешнюю библиотеку (те, что принадлежат рекламе), proguard терпит неудачу с «не может найти ссылку ... и т. Д.». Я пробовал много сочетаний, таких как libraryjars, injars ... и т. Д., Но не повезло.Использование «dontwarn» в proguard

Затем я использовал параметр «-dontwarn» во внешнем файле, и все работало волшебным образом. Это плохо делать? Я имею в виду, есть ли проблема, с которой я не сталкиваюсь с обработкой внешних банок, используя этот атрибут?

Спасибо

+0

Где вы добавляли «-dontwarn» в файл proguard? Какая же линия? и как? –

ответ

7

Для предупреждения о пропавших без вести сторонних классов, варианты -ignorewarnings или -dontwarn, вероятно, хорошо. Если код уже работает в режиме отладки, это означает, что перечисленные отсутствующие классы никогда не используются. Затем вы можете сообщить ProGuard о продолжении обработки кода.

Для предупреждений о недостающих классах, полях или методах работы в среде Android вы должны создать против достаточно недавнего времени выполнения Android, указанного в project.properties. Вы можете настроить таргетинг на более раннюю версию Android в AndroidManifest.xml.

См ProGuard руководство> Устранение неполадок:

Обратите внимание, что вы не должны добавлять -injars или -libraryjars опции конфигурации, так как стандартный Ant/Затмения/Gradle процессы сборки автоматически определяют их для вас.

+0

Спасибо Эрик. но проблема, которую он жалуется на классы, на которые ссылается внешняя банка и используемые классы/методы, находится в стандартной библиотеке андроида (например, android.View). – Snake

+0

Я распространил ответ на предупреждения о недостающих классах и методах Android. –

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