自学内容网 自学内容网

cordova+vue打包apk文件无法访问数据接口

出现这种原因是因为我安装的android sdk是属于高版本的,在高版本的android sdk中默认开启了对非加密的明文传输的保护,我们无法通过http网络请求的方式获取数据。

解决方案如下(取一即可):

  1. android sdk27及以上有这种限制,可以将android sdk降低到26版本。降低android版本可以通过命令cordova platform remove android 再 cordova platform add android@6.3.0,当我们打包时候就会自动给我们下载安装对应版本。

  2. 将根目录下的config.xml打开,添加 preference 即可

<preference name="AndroidInsecureFileModeEnabled" value="true" />
<preference name="scheme" value="http" />

在目录project\platforms\android\app\src\main\res\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>
</network-security-config>

在project\platforms\android\app\src\main\AndroidManifest.xml文件中修改,增加
< application android:networkSecurityConfig=“@xml/network_security_config”>
如下

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  android:versionName="1.0"
  android:versionCode="1">
  <uses-permission android:name="android.permission.INTERNET" />
  <application android:networkSecurityConfig="@xml/network_security_config">
    </application>
</manifest>

3.可以使用https调用数据接口
4.在AnroidManifest.xml中的application添加设置项:


原文地址:https://blog.csdn.net/jugtba/article/details/142760606

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!