如何在运行时使用 proguard 保留字段的注释

How to keep field's annotation with proguard at runtime

我正在开发 Android 应用程序。在我尝试使用 Proguard 混淆代码之前,该应用程序运行得非常棒。

import com.mobsandgeeks.saripaar.annotation.NotEmpty;

public class TaccuinoFragment extends Fragment {

    private TaccuinoViewModel mViewModel;

    @NotEmpty(messageResId = R.string.error_campo_obbligatorio)
    TextInputLayout titoloLayout;

}

gradle配置:

release {
  signingConfig signingConfigs.config
  zipAlignEnabled true
  minifyEnabled true
  proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), System.getenv("GRADLE_PROGUARD_CONFIG_FILE"), 'proguard-rules.pro'
}

我尝试了以下 Proguard 的配置:

-keepclasseswithmembernames class * {  @com.mobsandgeeks.saripaar.annotation.** <fields>;}

如何在运行时保留 NotEmpty 注释?提前谢谢你。

使用:

-keepattributes *Annotation*