Android设计支持库proguard规则

Posted

技术标签:

【中文标题】Android设计支持库proguard规则【英文标题】:Android design support library proguard rules 【发布时间】:2015-08-26 09:34:47 【问题描述】:

一直在尝试查找有关新设计支持库通过 proguard 工作所需规则的一些信息。我找不到任何关于它的信息。

最终使用了这些规则:

-keep class android.support.design.widget.**  *; 
-keep interface android.support.design.widget.**  *; 
-dontwarn android.support.design.**

这些规则似乎有效,但我不确定是否有更好的规则,或者它是否适用于设计支持库中的所有类

【问题讨论】:

【参考方案1】:

我遇到了这个错误error while parsing android/support/design/R$anim.class

用这段代码结束它:

# support design
-dontwarn android.support.design.**
-keep class android.support.design.**  *; 
-keep interface android.support.design.**  *; 
-keep public class android.support.design.R$*  *; 

【讨论】:

【参考方案2】:

这应该可行:

-keep public class * extends android.support.design.widget.CoordinatorLayout$Behavior 
    public <init>(android.content.Context, android.util.AttributeSet);

【讨论】:

以上是关于Android设计支持库proguard规则的主要内容,如果未能解决你的问题,请参考以下文章

Android混淆规则--proguard-rules.pro

使用 AndroidX 时,proguard-android-optimize.txt 中的“@Keep 支持注释”规则是不是仍然适用?

使用 ProGuard 混淆 Android 库项目源代码

R8 和 Proguard 规则

我在proguard规则中做错了啥?

Android 库:使用 proguard 时释放 .aar 使 classes.jar 为空