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.xml的meta-data,将value修改成离线打包key的值

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

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

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

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

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

相关推荐
HSunR1 小时前
ruoyi 若依 自定义注解 参数校验
java·前端·数据库
拆房老料2 小时前
ONLYOFFICE也能像Microsoft Word和WPS一样分别设置中西文字体
前端·html·word·开源软件·wps
Solis程序员2 小时前
Stripe 幂等表:把「不确定的重试」变成「查表返回」
前端·安全·bootstrap·php·agent
李纲明2 小时前
WordPress 站点变慢:按 TTFB → 缓存 → 查询 → 前端 分层排查(含配置注意)
前端·缓存·性能优化·wordpress·后端开发
程序人生8882 小时前
PDF 转 Word 版式错乱、表格丢失?DocConverter Web 格式互转引擎的保真实践
前端·人工智能·opencv·机器学习·pdf·word
粥里有勺糖3 小时前
安利一下最近用的桌面“Agent” | T3 Code
前端·github·ai编程
xy34534 小时前
Axure 9.0 动态面板基本操作
前端·ui·html·axure·原型·产品设计
不停喝水4 小时前
【前端转全栈java速通课】 项目实战④7-11节 操作数据库-登录-注册-修改密码-注销-mubatis-plus简化crud-
java·前端·数据库
一水鉴天5 小时前
统一对象拓扑(UOT)设计全链定稿:从三件事分离到三继承 之1 20261010(豆包“查看聊天内容”继续)
前端·css
栖凤5 小时前
Java 的 try-catch 在 Agent 里失效了,我用了 5 个模式才兜住
java·前端·python