我看到一些无法解释的Proguard行为。
AFAIK 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.
如果清单中没有提到类,它将被剥离。
很高兴知道原因。
答案 0 :(得分:9)
构建过程运行工具aapt
以基于bin/proguard.txt
和其他xml文件自动创建配置文件AndroidManifest.xml
。然后,构建过程将配置文件传递给ProGuard。所以ProGuard本身确实不考虑AndroidManifest.xml
,而是aapt + ProGuard。