ljv*_*alm 3 android cordova ionic-framework
我正在使用Ionic-framework开发一个新应用,并且正在使用HttpClient模块来处理API请求。
问题是我已阅读并尝试将解决方案应用于:
但是我的应用程序在对API进行查询时始终抛出此错误。
这是我的文件的详细信息:
在/时,config.xml中:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.example" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
...
<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"/>
<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" />
...
</widget>
Run Code Online (Sandbox Code Playgroud)
在/ resources / android / xml /中,network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
</domain-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)
使用安全加密的协议HTTPS是无效的。该API仅允许使用HTTP。
确保您config.xml在Ionic Project中具有以下内容:
<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" />
<application android:usesCleartextTraffic="true" />
</edit-config>
Run Code Online (Sandbox Code Playgroud)运行ionic Cordova构建android。它在Platforms下创建Android文件夹
打开Android Studio并打开我们的项目project-platforms-android中存在的Android文件夹。留下几分钟,以便建立gradle
后gradle build完成后,我们得到了一些错误的,包括minSdVersion在manifest.xml。现在,我们要做的只是<uses-sdk android:minSdkVersion="19" />从中删除manifest.xml。
确保从两个位置都将其删除:
AndroidManifest.xml。AndroidManifest.xml。现在尝试再次构建gradle,现在可以成功构建
确保在App→清单→中的Application标签中具有以下内容Androidmanifest.xml:
<application
android:networkSecurityConfig="@xml/network_security_config" android:usesCleartextTraffic="true" >
Run Code Online (Sandbox Code Playgroud)打开network_security_config(应用程序→res→xml→ network_security_config.xml)。
添加以下代码:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">xxx.yyyy.com</domain>
</domain-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)这xxx.yyyy.com是您的HTTP API的链接。确保在URL之前不包含任何Http。
注意:现在使用Android Studio来构建应用程序(构建-Build Bundle's / APK-Build APK),现在您可以使用该应用程序了,它在Android Pie中可以正常工作。如果您尝试使用ionic Cordova build android来构建应用程序,它将覆盖所有这些设置,因此请确保您使用Android Studio来构建Project。
如果您安装了任何较旧版本的应用程序,请卸载它们并尝试一下,否则将出现一些错误:
未安装应用
| 归档时间: |
|
| 查看次数: |
4718 次 |
| 最近记录: |