a
This commit is contained in:
+99
@@ -0,0 +1,99 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.kts.
|
||||
#
|
||||
# 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
|
||||
|
||||
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
|
||||
-optimizationpasses 5
|
||||
-verbose
|
||||
|
||||
# 保留代码行号
|
||||
-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# Preserve some attributes that may be required for reflection.
|
||||
-keepattributes AnnotationDefault,
|
||||
EnclosingMethod,
|
||||
InnerClasses,
|
||||
RuntimeVisibleAnnotations,
|
||||
RuntimeVisibleParameterAnnotations,
|
||||
RuntimeVisibleTypeAnnotations,
|
||||
Signature
|
||||
|
||||
# Fragment
|
||||
-keep class * extends androidx.fragment.app.Fragment{}
|
||||
|
||||
# Preserve annotated Javascript interface methods.
|
||||
-keepclassmembers class * {
|
||||
@android.webkit.JavascriptInterface <methods>;
|
||||
}
|
||||
|
||||
# The support libraries contains references to newer platform versions.
|
||||
# Don't warn about those in case this app is linking against an older
|
||||
# platform version. We know about them, and they are safe.
|
||||
-dontnote android.support.**
|
||||
-dontnote androidx.**
|
||||
-dontwarn android.support.**
|
||||
-dontwarn androidx.**
|
||||
|
||||
## Android architecture components: Lifecycle
|
||||
# LifecycleObserver's empty constructor is considered to be unused by proguard
|
||||
-keepclassmembers class * implements androidx.lifecycle.LifecycleObserver {
|
||||
<init>(...);
|
||||
}
|
||||
# ViewModel's empty constructor is considered to be unused by proguard
|
||||
-keepclassmembers class * extends androidx.lifecycle.ViewModel {
|
||||
<init>(...);
|
||||
}
|
||||
# keep methods annotated with @OnLifecycleEvent even if they seem to be unused
|
||||
# (Mostly for LiveData.LifecycleBoundObserver.onStateChange(), but who knows)
|
||||
-keepclassmembers class * {
|
||||
@androidx.lifecycle.OnLifecycleEvent *;
|
||||
}
|
||||
|
||||
# ViewBinding
|
||||
-keep public class * extends androidx.viewbinding.ViewBinding {*;}
|
||||
|
||||
# These classes are duplicated between android.jar and org.apache.http.legacy.jar.
|
||||
-dontnote org.apache.http.**
|
||||
-dontnote android.net.http.**
|
||||
|
||||
# 保持自定义控件类不被混淆
|
||||
-keepclasseswithmembers class * {
|
||||
public <init>(android.content.Context, android.util.AttributeSet);
|
||||
}
|
||||
-keepclasseswithmembers class * {
|
||||
public <init>(android.content.Context, android.util.AttributeSet, int);
|
||||
}
|
||||
|
||||
# AgentWeb
|
||||
-keep class com.just.agentweb.** {*;}
|
||||
-dontwarn com.just.agentweb.**
|
||||
|
||||
# Databinding
|
||||
-dontwarn android.databinding.**
|
||||
-keep class android.databinding.** { *; }
|
||||
|
||||
# Gson
|
||||
-keep class com.google.gson.** {*;}
|
||||
-keep class com.google.gson.stream.** {*;}
|
||||
-keep class com.google.** {
|
||||
<fields>;
|
||||
<methods>;
|
||||
}
|
||||
Reference in New Issue
Block a user