[英]Proguard configuration for Android Support v4 22.2.0
After updating dependencies on Gradle Android build to use com.android.support:support-v4:22.2.0
from local Maven extras repository (within SDK), Proguard started throwing these problems. 在更新Gradle Android版本的依赖关系以使用来自本地Maven extras存储库(在SDK中)的
com.android.support:support-v4:22.2.0
,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)
Simply adding -dontwarn android.support.v4.**
solves the problem, but I'd like an more specific/elegant solution, than ignoring all problems on support.v4 package 简单地添加
-dontwarn android.support.v4.**
解决了这个问题,但我想要一个更具体/更优雅的解决方案,而不是忽略support.v4包上的所有问题
Can anybody tell what rules should be added, so these classes/@interfaces are correctly processed by Proguard? 任何人都可以告诉我们应该添加哪些规则,这些类/ @接口是否由Proguard正确处理?
The only solution is what you have mentioned, ie -dontwarn android.support.v4.**
. 唯一的解决方案是你提到的,即
-dontwarn android.support.v4.**
。 This is actually taken from the <path-to-android-sdk>/tools/proguard/proguard-android.txt
, where it says: 这实际上取自
<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.**
It is safe to set don't warn for the support library classes according to the Android team. 根据Android团队设置不警告支持库类是安全的。 You can do this via:
你可以这样做:
## Support library
-dontwarn android.support.**
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.