uni-app 安卓真机上无法打开webview

uni-app 安卓真机上无法打开webview

操作步骤:

<template>  
    <view>  
        <web-view :webview-styles="webviewStyles" :src="url"></web-view>  
    </view>  
</template>  

预期结果:

  • 能够正常打开网页

### 实际结果:

- 不能打开

bug描述:

打包之后在安卓真机上运行,打开webview的页面,提示如下


![Image](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20211026/bdbc502512aca9bb6dd8a815215e881b.png)

### 表格信息
| 项目          | 信息           |
|---------------|----------------|
| 产品分类      | uniapp/App     |
| PC开发环境    | Windows        |
| PC版本号      | 3.2.9          |
| 手机系统      | Android        |
| 手机系统版本  | Android 10     |
| 手机厂商      | 华为           |
| 手机机型      | 荣耀V30        |
| 页面类型      | vue            |
| 打包方式      | 离线          |
| 项目创建方式  | CLI           |
| CLI版本号     | 3.2.9          |

更多关于uni-app 安卓真机上无法打开webview的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 安卓真机上无法打开webview的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据你提供的错误信息,这通常是由于 WebView 组件加载的 URL 地址无效或无法访问导致的。具体原因和解决方案如下:

1. 检查 URL 地址格式

确保 url 变量是完整的、可访问的网址(例如 https://example.com)。如果是本地文件,需确保路径正确且文件存在。

2. 检查网络权限

manifest.json 中确认已添加安卓网络权限:

{
  "app-plus": {
    "distribute": {
      "android": {
        "permissions": [
          "<uses-permission android:name=\"android.permission.INTERNET\"/>"
        ]
      }
    }
  }
}

3. 使用 HTTPS 或配置 HTTP 白名单

  • 安卓默认禁止非 HTTPS 链接。如果使用 HTTP,需在 manifest.json 中配置白名单:
{
  "app-plus": {
    "ssl": {
      "untrustedca": "allow"
    }
  }
}

4. 检查 WebView 初始化时机

确保 url 在组件挂载前已正确赋值。可在 onLoad 生命周期中动态赋值:

onLoad(options) {
  this.url = 'https://example.com';
}
回到顶部