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

Posted

技术标签:

【中文标题】WebView 在发布版本中不显示本地内容【英文标题】:WebView not showing local content in release build 【发布时间】:2020-10-31 21:27:56 【问题描述】:

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

"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"

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

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

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

谁能给点建议?

【问题讨论】:

【参考方案1】:

禁用 DexProtector 的公钥固定实际上可以使其工作。现在必须以某种方式配置它以使用公钥固定。

【讨论】:

以上是关于WebView 在发布版本中不显示本地内容的主要内容,如果未能解决你的问题,请参考以下文章

使用 Delphi XE2 在 MacOS 中不显示 Webview

Swift Playground WebView 不会显示本地图像

Android:Logcat 在 Intellij IDEA 中不显示任何内容

jQuery Mobile 在 WebView 中不起作用

WebView 不显示内容

Rest Web API 在本地服务器中显示记录,但在 IIS 中不显示