是-keep class android.support.** { *;影响 Proguard 优化?
Is -keep class android.support.** { *; } Impacting Proguard optimization?
为了 运行 使用 Proguard 的应用程序,我需要将以下行添加到我的 Proguard.cfg
:
-keep class android.support.** { *; }
保留这样的 类 是常见的做法吗?如果不是,这条线对 Proguard 优化的影响有多大?
是的,这在为您的项目设置混合规则时很常见。这些库是您实际上不需要混淆的SDK材料。但是,您不需要混淆任何第三方库,除非非常需要混淆它。因为,在某些情况下,你并不知道你所使用的第三方库内部的类的相互依赖关系。如果您真的必须混淆第三方库代码,那么请同时查看该库的 proguard-rules 规范。如果混淆第三方库,您可能会在应用程序中遇到 RuntimeException。
保持类对proguard优化没有任何影响。您只是告诉 proguard 您想要将 类 保留在 com.android...
包中,因为它们没有被混淆。
添加这个progard :
-ignorewarnings -keep class * { public private *; }
这里这个程序用来忽略警告
为了 运行 使用 Proguard 的应用程序,我需要将以下行添加到我的 Proguard.cfg
:
-keep class android.support.** { *; }
保留这样的 类 是常见的做法吗?如果不是,这条线对 Proguard 优化的影响有多大?
是的,这在为您的项目设置混合规则时很常见。这些库是您实际上不需要混淆的SDK材料。但是,您不需要混淆任何第三方库,除非非常需要混淆它。因为,在某些情况下,你并不知道你所使用的第三方库内部的类的相互依赖关系。如果您真的必须混淆第三方库代码,那么请同时查看该库的 proguard-rules 规范。如果混淆第三方库,您可能会在应用程序中遇到 RuntimeException。
保持类对proguard优化没有任何影响。您只是告诉 proguard 您想要将 类 保留在 com.android...
包中,因为它们没有被混淆。
添加这个progard :
-ignorewarnings -keep class * { public private *; }
这里这个程序用来忽略警告