PDFReaderPro/app/proguard-rules.pro
2025-12-15 17:32:17 +08:00

54 lines
1.6 KiB
Prolog

# 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 <methods>;
}
-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