Android支持v4 22.2.0的Proguardconfiguration

在更新Gradle Android版本的依赖关系之后,从本地Maven extras版本库(SDK内)使用com.android.support:support-v4:22.2.0开始抛出这些问题。

 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.**解决了这个问题,但是我想要一个更具体/优雅的解决scheme,而不是忽略support.v4包上的所有问题

任何人都可以告诉应该添加什么规则,所以这些类/ @接口是由Proguard正确处理?

  • 使用Proguard使用Dropbox.com库混淆Android应用程序
  • transformClassesAndResourcesWithProguardForRelease FAILED
  • dagger android支持proguard规则
  • 如何使用Kotlin与Proguard
  • 过时的proguard文件; 使用-keepclasseswithmembers而不是-keepclasseswithmembernames
  • Android Studio 1.0“runProguard”vs“minifyEnabled”
  • 使用ProGuard会导致ACRA发生NoSuchFieldError
  • 使用ProGuard混淆私有字段
  • 唯一的解决办法就是你提到的, -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.** 

    根据Android团队设置不要警告支持库类是安全的。 你可以通过以下方式来完成

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