WebView 未在发布版本中显示本地内容

WebView not showing local content in release build

我在 WebView 中显示本地数据时遇到一个奇怪的问题。在我的项目中,loadDataloadDataWithBaseUrl 都没有专门用于发布版本。显示来自 url 和 loadUrl 的内容在调试和发布中工作正常,但我需要显示本地数据。错误类似于:

"Web page not available The web page at data:text/html; charset=utf-8;charset=utf-8;base64, could not be loaded because: net::ERR_INVALID_RESPONSE"

Whosebug 上有很多关于此错误的问题,但所有问题要么解决编码问题,要么特定于某些 Android 版本。我尝试了无数答案的解决方案,但它只是稍微改变了错误中的文本(这部分data:text/html; charset=utf-8;charset=utf-8;base64)。同样在我的情况下,所有 android 版本都有问题,我没有在 html 内容或任何内容中使用任何特殊符号,只是尽可能简单的文档:

<html><body>test</body></html>

我能够在 WebView 中显示本地数据的唯一方法是从头开始创建新项目。在新项目中,一切正常。所以这让我觉得问题与某些项目配置有关。我不知道它是不是 gradle、proguard、dexprotector 或其他任何东西。

任何人都可以提供一些建议吗?

禁用 DexProtector 的 Public 键固定实际上可以使它工作。现在必须以某种方式配置它以使用 Public Key Pinning。