Android 将ProGuard keep规则替换为@keep注释会混淆成员名称

Android 将ProGuard keep规则替换为@keep注释会混淆成员名称,android,proguard,Android,Proguard,使用ProGuard在库中保留入口点,并且不允许对其进行模糊处理,我使用ProGuard保留规则: -keep,includedescriptorclasses public class com.demo.api.** { *; } 我想用如下的@Keep注释替换此规则: @Keep public class SomeClass { public void someMethod() { /*..*/ } } 如果我分析包含该类的aar库,那么SomeClass会像预期的那样被保留(而

使用ProGuard在库中保留入口点,并且不允许对其进行模糊处理,我使用ProGuard保留规则:

-keep,includedescriptorclasses public class com.demo.api.** { *; }
我想用如下的
@Keep
注释替换此规则:

@Keep
public class SomeClass {

   public void someMethod() { /*..*/ }
}
如果我分析包含该类的aar库,那么
SomeClass
会像预期的那样被保留(而不是收缩),并且不会与方法
someMethod
一起混淆

但是,如果我使用此库构建应用程序,则会保留类
SomeClass
,但其成员仍然模糊。该应用程序只有默认规则 和一个空的本地proguard_rules.txt:

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
如何使
@Keep
注释的行为与ProGuard
-Keep
规则类似