uniapp 安卓离线打包流程

1、 安装android studio

官网下载地址

2、 jdk下载

uniapp基座依赖的是java8,需要下载 jdk1.8版本,安装的时候如果修改了默认安装路径,需要记住这个路径,后续配置会用到

3、下载Hbuilder离线SDK

Android 离线SDK

4、导入HBuilder-Integrate-AS

将下载好的Android 离线SDK解压

打开android studio -> open -> 选择SDK解压路径/HBuilder-Integrate-AS,打开后等待Gradle包的安装(大改要半个小时,此时可以先喝杯冰阔洛)

安装好之后就会显示安卓目录如下,点击左上角的andorid,选择project,显示出完整的目录

5、选择jdk版本

android studio顶部菜单兰 File -> Project Structure -> SDK Location ->Gradle Settings -> Gradle JDK -> 选择面安装好的JDK

将Hbuild本地打包资源拷贝到 andorid studio

新增appkey需要安卓应用签名,打开andorid studio -> Build -> Generate Signed Bundle or APK-> 选择APK -> Next -> Create new -> 按照下图自行填写,填完后点击OK,关闭弹窗,此时会在你所选的目录下新增一个keystore文件

打开simpleDemo/build.gradle文件 修改如下内容

这里的targetSdkVersion建议改成30以上,不然可能会遇到一些版本报错问题

修改完成后,查看生成的keystore详情,选择右侧菜单栏的Gradle,然后点击弹窗左上角的命令后按钮,然后底部会弹出一个输入框,输入signingReport,回车,就能看到完整的证书信息

接下来在Dcloud后台创建一个应用

进入应用详情,新增一个appkey,按照提示将生成的签名信息录入生成appid

使用hbuilder将uniapp项目执行安卓本地打包

打包完成后将打包的产物复制到android studio项目的资源包下

hbuilder 打包的产物

android studio资源包路径 simpleDemo/src/main/assets/apps

修改simpleDemo/src/main/assets/data/dcloud_control.xml,将appid修改成离线打包key的appid

修改 simpleDemo/src/main/AndroidManifest.xmlmeta-data,将value修改成离线打包key的值

测试一下,创建你需要的模拟器,然后选中它(如何创建android studio 的模拟器可以百度一下)

选好模拟器后点击运行,运行没问题就可以打包了

选则build apks,等待打包完成即可(打包结果目录为simpleDemo/build/outputs/apk

ps 默认打出来的是debug包,若要打正式包,可以修改build varaint为release

以上就是uniapp安卓离线打包的过程

相关推荐
牧羊狼的狼26 分钟前
React 中的 HOC 和 Hooks
前端·javascript·react.js·hooks·高阶组件·hoc
知识分享小能手2 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
魔云连洲2 小时前
深入解析:Vue与React的异步批处理更新机制
前端·vue.js·react.js
mCell2 小时前
JavaScript 的多线程能力:Worker
前端·javascript·浏览器
超级无敌攻城狮4 小时前
3 分钟学会!波浪文字动画超详细教程,从 0 到 1 实现「思考中 / 加载中」高级效果
前端
excel5 小时前
用 TensorFlow.js Node 实现猫图像识别(教学版逐步分解)
前端
gnip5 小时前
JavaScript事件流
前端·javascript
赵得C5 小时前
【前端技巧】Element Table 列标题如何优雅添加 Tooltip 提示?
前端·elementui·vue·table组件
wow_DG5 小时前
【Vue2 ✨】Vue2 入门之旅 · 进阶篇(一):响应式原理
前端·javascript·vue.js
weixin_456904275 小时前
UserManagement.vue和Profile.vue详细解释
前端·javascript·vue.js