当前位置: 首页 > news >正文

将 vue2+ElementU 项目打包成安卓app

目标:将vue项目打包成安卓app
工具:HbuilderX

1.在HbuilderX中创建一个 5+App 项目

在这里插入图片描述

创建好的app项目目录

在这里插入图片描述

2.将vue项目打包

2.1 在 vue.config.js 中添加公共路径(解决打包后的app图片不显示问题)

module.exports = defineConfig({// 项目打包成app时需要添加公共路径publicPath: './'
})

2.2 将所有后端接口都设置为绝对地址,不能使用代理。(解决打包后app调用后端接口跨域问题)

2.3 路由模式改为 hash

const createRouter = () => new Router({mode: 'hash',routes: constantRoutes
})

2.3 如果vue项目中有文件上传、下载功能,打包成安卓app后功能失效。

2.3.1 下载文件问题截图

在这里插入图片描述

2.3.2 下载文件解决方法
2.3.2.1 使用H5 Plus(官网)下载文件

安装依赖

npm install vue-awesome-mui

main.js 文件添加代码

import Mui from "vue-awesome-mui"Vue.config.productionTip = false
Vue.use(Mui);

下载文件方法中判断,如果为 安卓app项目,则使用 plus.downloader.createDownload()来下载文件

// 是否为安卓appisInAndroid(){var u = navigator.userAgentreturn u.indexOf('Android') > -1 || u.indexOf('Linux') > -1},// 下载文件(name为文件名;接收后端返回的文件流)downloadFile(name){if(this.isInAndroid()){// 安卓applet picurl = '后端接口绝对地址'let datas = {filename: '_downloads/'+name,method: 'GET'} let dtask = plus.downloader.createDownload(picurl,datas,(d,status)=>{var fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename)this.$message("文件下载成功,保存路径为: " + fileSaveUrl)plus.runtime.openFile(d.filename)})dtask.setRequestHeader( "Content-Type", "application/json" );// 请求头添加token校验dtask.setRequestHeader( "Token", localStorage.getItem('token') );dtask.start()}else{// 网页downloadFile({ fileName: name }).then(result => {let blob = new Blob([result.data],{type: 'charset=utf-8'});let fileName = nameconst link=document.createElement('a');const url = window.URL.createObjectURL(blob)link.href = url;link.download = fileNamedocument.body.appendChild(link);link.click();document.body.removeChild(link);window.URL.revokeObjectURL(url);//销毁url对象})}},
2.3.3 上传文件(网页版使用的是 el-upload 自动上传)

解决: 使用 el-upload 自定义上传 http-request,如下在 handleUpload() 中调用后端接口,实现上传文件功能。

<el-uploadclass="upload-demo"multipleaction="#":file-list="fileList":show-file-list="false":http-request="(file) => {handleUpload(file,scope.row.grinderAutomaticModeParametersID)}"><el-button type="primary">上传文件</el-button></el-upload>

2.4 打包vue项目

npm run build

打包好的项目在 dist 文件夹下

在这里插入图片描述

2.5 把dist文件夹下的所有文件替换到创建好的app项目中

2.6 在HbuildX中打开app项目,在manifest.json中点击每一项配置app信息

在这里插入图片描述

2.7 点击 发行 -> 原生App-云打包

在这里插入图片描述
打包后的文件在 unpackage/release/apk 中 .apk文件即为打包好的APP文件

http://www.lryc.cn/news/195895.html

相关文章:

  • sop作业指导书怎么做?sop标准作业指导书用什么软件做?
  • 计算机网络 | 应用层
  • IP地址定位技术对企业的影响有哪些?
  • 【SA8295P 源码分析 (一)】52 - 答疑之 QNX 创建镜像、Android修改CMDLINE
  • 跨境商城源码部署(多商户入驻,一键铺货,快速部署)
  • videojs和videojs-markers
  • 铜死亡+多组机器学习+WGCNA+分型
  • vite 使用本地 ip + localhost 访问服务
  • postman和jmete接口测试的用法与区别
  • Go语言基础之包
  • Switch模拟器-Ryujinx(龙神模拟器)安装教程
  • 从Github中下载部分文件
  • webrtc安全性 加密方式
  • 【2023年11月第四版教材】软考上机考试操作指南(注意事项)
  • 在vs code中创建一个名为 “django_env“ 的虚拟环境报错?!以下方法可以解决
  • C++产生未定义的行为的原因分析
  • C++ Qt QString类用法介绍
  • 亚马逊测评关于IP和DNS的问题
  • 新增Node.js运行环境、新增系统缓存清理功能,1Panel开源面板v1.7.0发布
  • 【SA8295P 源码分析 (一)】60 - QNX Host 如何新增 android_test 分区给 Android GVM 挂载使用
  • 天津滨海新区城市轨道交通电能管理系统方案与实施方案
  • torch.cat 使用小节
  • Java:SpringBoot整合Spring Batch示例
  • Windows + Msys 下编译 TensorFlow 2.14
  • 百度发布全新 AI 互动式搜索:百度简单搜索
  • VUE开发记录
  • 2023年中国乳胶制品产量、需求量及市场规模分析[图]
  • 手撕Vue-数据驱动界面改变上
  • for循环中循环一次提交一次 insert update 关闭事务 spring springboot mybatis
  • VS2010 C语言内嵌汇编语言程序