You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开启minifyEnabled后Webview无法工作,求有效解决方案

解决WebView开启minifyEnabled后失效的ProGuard配置方案

已尝试的ProGuard规则:

-keep class my_package_name.adm.** {*;}
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}
-keepattributes JavascriptInterface
-keep public class package_path$JavaScriptInterface
-keep public class * implements package_pat$JavaScriptInterface
-keepclassmembers class package_pat$JavaScriptInterface {
    <methods>;
}

-keepattributes *Annotation*

针对开启minifyEnabled后WebView无法正常工作的问题,可尝试以下修正后的ProGuard配置,同时排查额外关键点:

修正后的完整ProGuard规则

# 保留WebView相关系统核心类,避免底层功能被混淆
-keep class android.webkit.** {*;}
-keep class android.net.http.** {*;}
-keep class com.android.org.chromium.** {*;}

# 确保带JavascriptInterface注解的方法不被混淆
-keepattributes JavascriptInterface
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}

# 精准保留自定义的JavaScriptInterface内部类及方法
# 替换为你项目中真实的包名和类名
-keep public class my_package_name.adm.MyWebView$JavaScriptInterface {
    public <methods>;
}
-keep public class * implements my_package_name.adm.MyWebView$JavaScriptInterface {
    public <methods>;
}

# 保留注解与方法签名信息,避免JS交互时匹配失败
-keepattributes *Annotation*
-keepattributes Signature

# 屏蔽WebView相关的混淆警告,避免编译报错
-dontwarn android.webkit.JavascriptInterface
-dontwarn com.android.org.chromium.android_webview.**

关键修正说明

  • 补充WebView系统核心类保留:原规则未覆盖Android WebView底层依赖类,混淆后会导致初始化或核心功能失效。
  • 修正自定义Interface路径:原规则中package_path、package_pat存在拼写错误或路径不匹配问题,必须替换为项目中JavaScriptInterface的真实包名+类名(内部类用$连接)。
  • 添加Signature属性保留:部分JS与原生交互依赖方法签名信息,缺失会导致方法匹配失败。
  • 精简无效规则:若my_package_name.adm.**下无WebView相关类,可调整为仅保留WebView所在类路径,减少不必要的代码保留。

额外排查点

  1. 检查JS交互方法可见性:所有带@JavascriptInterface注解的方法必须是public修饰,混淆后若方法被改为非public,JS将无法调用。
  2. 查看混淆日志:开启混淆后,通过Logcat中的WebView或JavascriptInterface相关报错(如Uncaught TypeError: Object has no method 'xxx'),快速定位被混淆的方法。
  3. 验证mapping文件:查看build/outputs/mapping/release/mapping.txt,确认自定义JavaScriptInterface类和方法的名称未被混淆。

内容的提问来源于stack exchange,提问作者PRIYANKA YADAV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 13:03:26