Keep methods annotated with @JavascriptInterface
This rule is a common default rule elsewhere, and should be applied
globally for platform targets rather than relying on per-target rules.
Follow-up work will remove duplicated rules from individual targets.
Bug: 248580093
Test: m
Change-Id: If3cb9fb22d2acf90d87f150f93ad491549bf9090
diff --git a/core/proguard_basic_keeps.flags b/core/proguard_basic_keeps.flags
index ea200c1..5b88cd9 100644
--- a/core/proguard_basic_keeps.flags
+++ b/core/proguard_basic_keeps.flags
@@ -41,6 +41,11 @@
java.lang.Object readResolve();
}
+# Keep all Javascript API methods
+-keepclassmembers class * {
+ @android.webkit.JavascriptInterface <methods>;
+}
+
# Keep Throwable's constructor that takes a String argument.
-keepclassmembers class * extends java.lang.Throwable {
<init>(java.lang.String);