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

Cordova模拟Android运行出现http://localhost:8100网络错误求助

解决方案

修正config.xml配置冲突

你当前config.xml中针对Application节点的两个edit-config配置分开编写会被Cordova合并覆盖,需整合为同一个配置块,同时补充调试域名权限:

<platform name="android">
    <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
        <application 
            android:networkSecurityConfig="@xml/network_security_config"
            android:usesCleartextTraffic="true" 
        />
    </edit-config>
    <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
    <!-- 补充本地调试的明文请求权限 -->
    <allow-navigation href="http://*/*" />
    <allow-intent href="http://*/*" />
</platform>

全量清理后重新构建

依次执行以下命令清理残留缓存,避免旧配置未被替换:

# 删除所有构建缓存和依赖
rm -rf node_modules platforms plugins www package-lock.json
# 重新安装依赖
npm install
# 重新添加Android平台
ionic cordova platform add android@9.0.0

构建后手动确认platforms/android/app/src/main/AndroidManifest.xml的Application节点已经生成android:usesCleartextTraffic="true"和android:networkSecurityConfig="@xml/network_security_config"两个属性,同时检查res/xml/network_security_config.xml内容和你编写的一致。

适配热重载调试场景

你开启了-l热重载参数,Cordova Android 9+默认会用局域网IP作为调试地址,不属于默认的localhost白名单范围,可两种方式解决:

  1. 在network_security_config.xml中补充你的本机局域网IP(比如192.168.1.100)到域名列表:
<domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">localhost</domain>
    <domain includeSubdomains="true">192.168.1.100</domain>
</domain-config>
  1. 运行时新增--no-native-run参数,规避运行工具的端口代理拦截:
ionic cordova emulate android -l --no-native-run

内容的提问来源于stack exchange,提问作者nogamawa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 15:36:05