gpt4 book ai didi

android - 为什么 android sdk 中的默认 proguard 配置使用 keep *Annotation*

转载 作者:行者123 更新时间:2023-12-05 00:21:50 26 4
gpt4 key购买 nike

android sdk的默认proguard配置中有一行:

-keepattributes *Annotation*

根据 Proguard Manual,这条线等于:
-keepattributes RuntimeVisibleAnnotations,RuntimeInvisibleAnnotations,RuntimeVisibleParameterAnnotations,RuntimeInvisibleParameterAnnotations,RuntimeVisibleTypeAnnotations,RuntimeInvisibleTypeAnnotations,AnnotationDefault

在我看来,也许下面的配置就足够了:
-keepattributes RuntimeVisibleAnnotations,RuntimeVisibleParameterAnnotations,RuntimeVisibleTypeAnnotations,AnnotationDefault

我错过了什么吗?为什么推荐配置保留所有这些东西?

最佳答案

不,您的观察是正确的,以下配置会更正确恕我直言:

-keepattributes RuntimeVisible*Annotation*,AnnotationDefault

大多数人可能并不关心运行时可见注释和不可见注释之间的细微差别,但没有特定理由保持运行时不可见注释。

编辑:以上仅适用于 Android 应用程序。如果你正在构建一个 Android 库,你应该坚持使用 -keepattributes *Annotation*。

顺便提一句。 DexGuard(ProGuard 的商业变体)使用我上面建议的更新配置。

关于android - 为什么 android sdk 中的默认 proguard 配置使用 keep *Annotation*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40255308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com