Cordova emulate Android 导致应用程序错误出现网络错误。 (http://localhost:8100/)

Posted

技术标签:

【中文标题】Cordova emulate Android 导致应用程序错误出现网络错误。 (http://localhost:8100/)【英文标题】:Cordova emulate Android leads to Application Error There was a network error. (http://localhost:8100/) 【发布时间】:2021-12-11 05:05:47 【问题描述】:

我知道在Why am I seeing net::ERR_CLEARTEXT_NOT_PERMITTED errors after upgrading to Cordova android 8? 下提出了类似的问题,但不幸的是,没有一个答案解决了我的问题。

离子框架:@ionic/angular 5.8.4 @angular-devkit/build-angular : 0.901.13 Cordova CLI:10.0.0 (cordova-lib@10.1.0) Cordova 平台:android 9.0.0,浏览器 6.0.0 Android Studio 2020.3.1

删除我的 ionic 项目的 platforms 文件夹后,我想通过运行再次模拟我的项目:

sudo ./Android/Sdk/emulator/emulator -avd Pixel_3a_API_28

cordova prepare android

ionic cordova emulate android -l

突然之间,我总是收到网络问题的错误消息。这在我之前从未发生过,所以我尝试从上面的链接添加配置。这是我的resources/android/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system"/>
        </trust-anchors>
    </base-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">localhost</domain>
    </domain-config>
</network-security-config>

和我的config.xml 的一部分(我尝试了上面链接中的所有版本!):

    <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" />
        </edit-config>
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application 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" />

我使用 Android Studio 安装了新的虚拟设备,但同样的错误。

【问题讨论】:

使用 IP 代替 localhost 在电容器.config.json 中添加 I 作为 "server": "url": "192.168.xxx", "cleartext": true, "allowNavigation": [ "localhost ", "192.168.xxx" ] 【参考方案1】:

检查您的 config.xml 文件并确保此内容源设置如下:

<content src="index.html" />

应删除其他任何内容并恢复到上述内容。

【讨论】:

以上是关于Cordova emulate Android 导致应用程序错误出现网络错误。 (http://localhost:8100/)的主要内容,如果未能解决你的问题,请参考以下文章

ionic cordova 运行 android 导致 PANIC: Missing emulator engine program for 'x86' CPU

关于启动cordova项目 报CordovaError: No emulator images (avds) found

cordova emulate iOS 从不从命令行工作,但通过 Xcode 很好

在浏览器中测试/模拟 Android Cordova 应用程序的替代方法

转: android emulator 命令详解

Cordova FileTransfer 中止错误