为什么 proguard 处理 AndroidManifest.xml



我看到一些无法解释的Proguard行为。

AFAIK proguard 不关注 android 清单。另外,在我的专业中.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.

如果清单中未提及类,则会将其剥离。

很高兴知道为什么。

构建过程运行工具aapt,以基于AndroidManifest.xml和其他 xml 文件自动创建配置文件bin/proguard.txt。然后,构建过程会将配置文件传递给 ProGuard。所以ProGuard本身确实不考虑AndroidManifest.xml,但aapt+ProGuard会。

最新更新