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

React Native WebView打包APK/AAB后安卓端白屏问题求助

安卓打包后WebView白屏问题解决方案

1. 检查并添加网络权限

确保安卓AndroidManifest.xml(路径:android/app/src/main/AndroidManifest.xml)中添加网络权限:

<uses-permission android:name="android.permission.INTERNET" />

如果目标URL是HTTP协议,Android 9及以上默认禁止明文流量,需配置网络安全策略:

  • 在android/app/src/main/res/xml下创建network_security_config.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>
  • 在AndroidManifest.xml的<application>标签中添加引用:
android:networkSecurityConfig="@xml/network_security_config"

2. 修正WebView加载状态逻辑

当前代码中setLoad(!load)存在异步更新的状态不同步问题,改为函数式更新确保状态正确:

onLoadStart={() => {
  setLoad(prev => true);
}}
onLoadEnd={() => {
  setLoad(prev => false);
}}

3. 禁用WebView代码混淆(若开启混淆)

如果项目开启了代码混淆,在android/app/proguard-rules.pro中添加规则保护WebView相关类:

-keep class com.facebook.react.views.webview.** { *; }
-dontwarn com.facebook.react.views.webview.**

4. 验证目标URL的可访问性

  • 确认my-uri是有效可访问地址,在安卓设备浏览器中直接打开该URL,检查是否能正常加载。
  • 如果是本地HTML文件,确保打包后文件路径正确,比如使用require('./index.html')而非相对路径字符串。

5. 添加混合内容支持(若需要)

如果目标页面存在HTTP和HTTPS混合资源,在WebView中添加配置:

mixedContentMode="compatibility"

内容的提问来源于stack exchange,提问作者Min Pyae Kyaw

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 15:20:47