Cordova 打包后白屏怎么解决?
我用 Cordova 打了个 Android 应用,本地调试好好的,一打包成 APK 安装到手机上就白屏,啥也不显示。
试过检查 config.xml 里的 content src,也确认了 index.html 路径没问题。控制台也没报错,真机连 Chrome inspect 都看不到任何日志,急死了!
我的入口配置是这样的:
<content src="index.html" />
<access origin="*" />
<allow-navigation href="*" rel="external nofollow" />
但还是白屏,是不是哪里权限没开?还是文件没打进 APK 里?
最常见的原因是 Android 9+ 的网络限制。你需要在 config.xml 里加上这个配置:
这是因为 Android 9 开始默认禁止明文流量,而 Cordova 的 WebView 默认走 file:// 协议,有些版本会触发这个限制。
如果还是不行,试试把入口路径改成绝对路径形式:
不过这个写法在 Cordova 8+ 里其实不需要,cordova-plugin-file 会自动处理。
还有一个容易忽略的点:检查你的 index.html 里有没有直接写死的绝对路径。比如 img 标签写了
src="http://xxx"或者 script 标签加载了外部脚本,Android 9+ 同样会拦截。如果上面都试了还是白屏,可以用 Android Studio 打开项目,在 Run 窗口看看有没有报错信息,或者直接用 adb logcat 过滤 cordova 关键字看看有没有线索。
你说控制台看不到日志,可能是 WebView 根本没加载成功,那大概率就是上面说的网络策略问题。