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

发布于:2024-10-09 ⋅ 阅读:(123) ⋅ 点赞:(0)

出现这种原因是因为我安装的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添加设置项:


网站公告

今日签到

点亮在社区的每一天
去签到