From 70b745521a7262d7213f4d0dacfd844fffab7718 Mon Sep 17 00:00:00 2001 From: Niklas Buse Date: Fri, 25 Apr 2025 10:10:36 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Add=20ProGuard=20rules=20for=20r?= =?UTF-8?q?eflection,=20WebView,=20and=20url=5Flauncher=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/proguard-rules.pro | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 android/app/proguard-rules.pro diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000..7f69b09 --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,40 @@ +# Keep classes used for reflection +-keepclassmembers class * { + ; +} + +# Keep url_launcher package +-keep class androidx.core.content.FileProvider +-keep class androidx.core.app.ActivityCompat +-keep class androidx.core.content.ContextCompat + +# Keep url_launcher classes +-keep class io.flutter.plugins.urllauncher.** { *; } +-keep class androidx.core.content.** { *; } +-keepattributes *Annotation* +-keepclassmembers class * { + @android.webkit.JavascriptInterface ; +} + +# Keep all implementations of b2.a +-keep class b2.a { *; } +-keep class b2.** { *; } +-keep class j2.d { *; } + +# WebView rules +-keep class io.flutter.plugins.webviewflutter.** { *; } +-keep class android.webkit.** { *; } +-keep class * extends android.webkit.WebChromeClient { *; } +-keep class * extends android.webkit.WebViewClient { *; } +-keepclassmembers class * extends android.webkit.WebViewClient { + ; +} + +# Keep javascript interfaces +-keepattributes JavascriptInterface +-keep class * extends android.webkit.WebView { *; } + +# Keep all classes that might be used in WebView JS interface +-keepclassmembers class * { + @android.webkit.JavascriptInterface ; +} \ No newline at end of file