# Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} # Uncomment this to preserve the line number information for # debugging stack traces. #-keepattributes SourceFile,LineNumberTable # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile # PDFium完整保留 -keep class com.shockwave.** { *; } -keep class com.github.barteksc.pdfviewer.** { *; } -keepclassmembers class * { native ; } -keep class com.luck.picture.lib.** { *; } -keep class com.luck.lib.camerax.** { *; } -dontwarn com.yalantis.ucrop** -keep class com.yalantis.ucrop** { *; } -keep interface com.yalantis.ucrop** { *; } # 保留所有 Parcelable 类 -keep class * implements android.os.Parcelable { *; } -keep @kotlinx.parcelize.Parcelize class * -keepclassmembers class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } # ===== PDFBox 全保留 ===== -keep class com.tom_roush.pdfbox.** { *; } # 防止缺少 gemalto 的 JP2Decoder 报错 -dontwarn com.tom_roush.pdfbox.filter.JPXFilter -dontwarn com.gemalto.jp2.** # ===== 属性 ===== -keepattributes *Annotation* -keepattributes Signature -keepattributes InnerClasses