WebToApp 中文文档 下载 App

签名与安装权限问题:V1/V2/V3 兼容性、未知来源、覆盖安装

「未安装应用」或「签名不匹配」

场景 1:用不同证书签名的 APK 尝试覆盖安装

错误信息:「应用未安装」或「签名与已安装版本不匹配」。

原因:Android 要求覆盖安装的 APK 必须和已安装版本使用相同的签名证书。

解决:

场景 2:V3 签名和老系统不兼容

V3 签名(Android 9.0+ 引入)在极少量 Android 7/8 的设备上可能不被识别。

解决:

「安装未知来源应用」被禁止

场景:点击 APK 文件没有弹出安装界面

原因:Android 8.0+ 不再是全局开关,而是按 App 授权。

解决:

  1. 打开系统设置 → 应用 → 找到用来打开 APK 的那个 App(可能是文件管理器、夸克网盘 App、浏览器)
  2. 点击「安装未知应用」
  3. 打开开关

注意:这个权限给下载来源 App,不是给 WebToApp。通过哪个 App 打开的 APK,就给哪个 App 授权。

构建器权限不足

场景:构建器打开文件管理器里找不到 APK

原因:Android 11+ 的分区存储(Scoped Storage)限制了应用的文件访问范围。

解决:

后台服务被系统杀掉

场景:服务端运行时类型的 APK 切到后台后 HTTP 服务停止

原因:Android 的后台限制(Doze 模式、应用启动限制等)。

解决:

  1. 启用前台服务:通用配置 → 运行时 → 后台运行 → 开启「前台服务」
  2. 电池优化白名单:系统设置 → 电池 → 找到你的 APK → 选择「不限制」
  3. 自启动权限:某些国产系统(MIUI、EMUI、ColorOS)有额外的自启动权限设置,手动给 APK 打开

端口被占用

场景:多个服务端运行时应用尝试监听同一个端口

解决:

  1. 在每个应用的通用配置 → 运行时里指定不同端口
  2. 或者开启端口冲突的「自动换端口」策略
  3. 或者在 Linux 环境里手动杀掉占用端口的进程

APK 体积过大

场景:导出的 APK 好几百 MB

原因可能是:

优化建议: