我看到一些无法解释的Proguard行为。
据我所知,Proguard不会注意Android清单文件。同样,在我的proguard.cfg文件中,没有提到BroadcastReceiver相关的类。因此,我认为应该将它们剥离。
然而,在bin/proguard.txt中,我发现了一些奇怪的东西:
如果在清单文件中没有提到类名,它将被剥离。 很好知道原因。
据我所知,Proguard不会注意Android清单文件。同样,在我的proguard.cfg文件中,没有提到BroadcastReceiver相关的类。因此,我认为应该将它们剥离。
然而,在bin/proguard.txt中,我发现了一些奇怪的东西:
# view AndroidManifest.xml #generated:784
-keep class com.fiksu.asotracking.InstallTracking { <init>(...); }
那个类(BroadcastReceiver的后代)不会被剥离。对我来说,原因没有任何有意义的解释:
[proguard] com.fiksu.asotracking.InstallTracking
[proguard] is kept by a directive in the configuration.
如果在清单文件中没有提到类名,它将被剥离。 很好知道原因。
<path-to-your-sdk>/tools/proguard/proguard-android.txt
这个文件?通常里面包含了一些声明,可以防止Proguard完全破坏你的应用程序。 - Jens-keep public class * extends android.content.BroadcastReceiver
,该内容可以防止广播接收器被混淆。 - Jens