首页 > 解决方案 > 启用 proguard 后 webview 无法正常工作

问题描述

webview 在签名 apk 中无法与 proguard 一起正常工作,但在调试 apk 中工作。

我在 proguard 规则中添加了对 javascriptInterface 的排除,但它不适用于发布版本。

-keepattributes JavascriptInterface
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}

在我的构建 gradle

buildTypes {
    debug {
        externalNativeBuild {
            cmake {
                abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
            }
        }
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    release {
        externalNativeBuild {
            cmake {
                abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
            }
        }

        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

我正在为调试和发布设置“minifyEnabled true”,但在 proguard 规则中添加的异常仅适用于调试。所有建议表示赞赏。

标签: androidandroid-webviewproguard

解决方案


推荐阅读