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

作为一个cordova小白,我按照官方文档和网上资料完成了讲vue文件打包到cordova中并打包成apk文件,完成了一个简单app的制作,当我正陶醉于可以自己完成一个app的时候突然发现,我的app居然无法访问服务器数据,这时我疯狂地去找解决方案,然而可能是我的搜索能力太差了,一直没有找到解决方法,最后当我即将放弃的时候发现了一个方法,觉得它是比较靠谱的,果不其然,解决了我的问题。

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

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

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

2. 在目录project\platforms\android\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文件中修改,修改内容如下

<?xml version="1.0" encoding="utf-8"?>
<manifest>
    <application android:networkSecurityConfig="@xml/network_security_config">
    </application>
</manifest>

3. 可以使用https调用数据接口

4.在AnroidManifest.xml中的application添加设置项:

<application android:usesCleartextTraffic="true">

此上方法任选一个应该可以解决这个问题。

原文地址:https://www.cnblogs.com/heshuaiblog/p/10792624.html

时间: 2024-10-31 09:11:04

关于cordova+vue打包apk文件无法访问数据接口的相关文章

Android项目在eclipse中无法打包apk文件[bin目录下没生成apk文件]问题解决

后来我发现在eclipse的Preferences -> Android -> Build中有一项“Skip packaging and dexing until export or launch....”,原来这个选项默认是被勾选的,这个选项的意思是“跳过packing和dexing,直到export或者 launch...”,去掉这个选项即可解决问题. Android项目在eclipse中无法打包apk文件[bin目录下没生成apk文件]问题解决

vue打包之后生成一个配置文件修改接口

前言: 我们的vue代码打包上传到服务器之后, 要是数据接口 以后换了域名什么的,是不是需要重新去vue文件里修改接口. 能不能生成一个配置文件,里面可以配置域名或其它什么字段之类的,这样以后换了域名,只需打开记事本 修改一下域名即可. 教程: 第一步:安装generate-asset-webpack-plugin插件 npm install --save-dev generate-asset-webpack-plugin 第二步:配置webpack.prod.conf.js文件 //让打包的时

vue中访问数据接口的配置

业务API接口地址: http://localhost:3816/api/ 前端UI浏览地址:http://127.0.0.1:8080/#/home 由于同源策略的问题: 需要配置代理: 在开发环境下配置如下:config/index.js assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: { '/api': { //将www.exaple.com印射为/apis target: 'http://localhost

Cordova+Eclipse打包apk安装包

前提条件,电脑安装过nodejs和Cordova,不作详述,后面再补一篇相关blog记录一下. 本文主要从纯操作角度介绍使用Cordova将html5项目打包成安卓安装包的过程,此前看到很多前辈写的经验对具体操作部分介绍得不够细致,为了方便后来者更好地参照,所以在此作此记录. 第一步:在磁盘中新建一个文件夹,用来存放Cordova创建的项目 比如,在D盘的Download下面新建一个文件夹ruyi 从cmd命令行中进入到ruyi目录中, 运行Cordova命令创建工程 ruyi : 项目文件夹名

使用node创建服务器 运行vue打包的文件

vueproject打包操作 npm build vue project打包之后默认在dist目录下编译生成静态资源 如果想在正式部署前测试,可以依赖node-static直接运行 安装node-static依赖 npm install -g node-static 或者编写node脚本 在根目录下新建node-static-start.js var static = require('node-static'); // // Create a node-static server instan

Cocos2dx打包apk时变更NDK引发问题及解决

现在官方的Cocos Studio已经支持打包apk文件,写该随笔的时候还没试过官方的打包功能,所以就按自己的学习顺序先把打包的心得卸下. 问题及最终解决方案: 其中耗时最长的问题就是ndk-r10改成ndk-r9d后一直编译不通过: 最终解决办法是删除项目路径下/proj.android/obj/local/armeabi目录下的所有文件.(当时因为使用cocos2dx2.2.3版本源码学习才遇到该问题,可能cocos2dx最新版本已无该问题). 发现问题过程: 初学Cocos2dx,了解了下

cordova+vue 项目打包成Android(apk)应用

现在使用vue开发的项目越来越多,使用vue开发的移动端打包就成了最大的问题.现在前端打包方案有好多种,但是综合来说,我比较喜欢用cordova来进行Android和ios的打包,配置完成之后,每次只需要一条命令就可以完成打包. 1.安装cordova这一步的前提是已经完成安装node和npm,如果没有安装的话,请先完成node和npm的安装.node安装:直接进入官网https://nodejs.org/zh-cn/,下载最新版本安装.安装之后在命令行中使用"node -v" 检查安

html5 如何打包成apk,将H5封装成android应用APK文件的几种方法

直接使用编程软件提供的方法: 1.需要下载安装MyEclipse2014,Android SDK,eclipse(需配置Android开发环境) Java和Android环境安装与配置. 2.打开MyEclipse2014,新建一个HTML5 Mobile Application Project,命名,例如:hello. 3.html5程序在工程www目录下编辑:编辑好html5程序,下面就要开始学习打包了. 4.这里介绍两种打包方式: 4.1.PhoneGap  Build Service 打

Android 项目打包成apk文件

首先,要利用Android SDK 自带的kdytool生成keystore文件: keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore参数意义:-validity主要是证书的有效期,写100000天:空格,退格键都算密码. 在DOS里面的过程: (D:\Program Files\Java\jdk1.7.0_25\bin> keytool -genkey -