我看到一些无法解释的 Proguard 行为。
AFAIK proguard 不关注 android list 。另外,在我的 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.
如果 list 中没有提到类,它将被删除。
很高兴知道为什么。
最佳答案
构建过程运行工具aapt
自动创建配置文件bin/proguard.txt
,基于AndroidManifest.xml
等xml 文件。然后构建过程将配置文件传递给 ProGuard。所以 ProGuard 本身确实不考虑 AndroidManifest.xml
,但 aapt+ProGuard 考虑。
关于java - 为什么proguard处理AndroidManifest.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19180434/