Подтвердить что ты не робот

Конфигурация Proguard для Android Support v4 22.2.0

После обновления зависимостей от Gradle Android build для использования com.android.support:support-v4:22.2.0 из локального хранилища репозитория Maven (в SDK) Proguard начал бросать эти проблемы.

Warning: android.support.v4.app.DialogFragment: can't find referenced class android.support.v4.app.DialogFragment$DialogStyle
Warning: android.support.v4.app.FragmentTransaction: can't find referenced class android.support.v4.app.FragmentTransaction$Transit
Warning: android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$ResolvedLayoutDirectionMode
Warning: android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$LayoutDirectionMode
Warning: android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$LayerType
Warning: android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$AccessibilityLiveRegion
Warning: android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$ImportantForAccessibility
Warning: android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$OverScroll
Warning: android.support.v4.widget.DrawerLayout: can't find referenced class android.support.v4.widget.DrawerLayout$EdgeGravity
Warning: android.support.v4.widget.DrawerLayout: can't find referenced class android.support.v4.widget.DrawerLayout$LockMode
Warning: android.support.v4.widget.DrawerLayout: can't find referenced class android.support.v4.widget.DrawerLayout$State
Warning: there were 11 unresolved references to classes or interfaces.
         You may need to add missing library jars or update their versions.
         If your code works fine without the missing classes, you can suppress
         the warnings with '-dontwarn' options.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)

Просто добавление -dontwarn android.support.v4.** решает проблему, но я хотел бы получить более конкретное/элегантное решение, чем игнорировать все проблемы в пакете support.v4

Кто-нибудь может сказать, какие правила должны быть добавлены, поэтому эти классы/@интерфейсы корректно обрабатываются Proguard?

4b9b3361

Ответ 1

Единственное решение - это то, о чем вы упоминали, т.е. -dontwarn android.support.v4.**. Это фактически взято из <path-to-android-sdk>/tools/proguard/proguard-android.txt, где говорится:

# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version.  We know about them, and they are safe.
-dontwarn android.support.**

Ответ 2

Безопасно устанавливать, не предупреждать для классов библиотеки поддержки в соответствии с командой Android. Вы можете сделать это через:

## Support library
-dontwarn android.support.**