uniapp -- 离线打包(限制网络情况)
“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情”
背景
为那些在公司桌面或者云桌面,被限制网络的情况下,这时候的离线打包是难度巨大,特此记录踩坑过程,不足之处,评论区见
准备工作
下载android studio和hbuilderX
hbuilderX下载地址:www.dcloud.io/hbuilderx.h… android studio下载地址:developer.android.google.cn/studio/arch…
下载离线sdk
地址:nativesupport.dcloud.net.cn/AppDocs/dow…
申请证书
教程:ask.dcloud.net.cn/article/357…
builderX申请白名单
ext.dcloud.net.cn/
account.dcloud.net.cn
dev.dcloud.net.cn
stream.dcloud.net.cn
ide.liuyingyong.cn
ide.dcloud.io
update.liuyingyong.cn
注:以上均为https
其他准备工作
Appid, Appkey, 包名
hbuilderX配置生成
登录账号
在限制网络情况下,要先配置白名单才可以登录
生成本地资源
存在于unpackage/resources/下面
as的配置
初始化配置
加载本地gradle包
下载地址:services.gradle.org/distributio…
我们项目采取6.5版本,大家按需修改
然后as切换成Android模式,修改distributionUrl的路径
修改maven镜像
切换为Project模式,打开build.gradle文件 这个可以放公司自己搭的maven私库,再把所需要的包上传上去,但是刚好我公司云桌面配置默许了阿里的镜像,那么直接配置阿里的maven镜像即可
maven { url 'maven.aliyun.com/repository/…' }
maven{ url 'maven.aliyun.com/repository/…
项目配置
导入第一步下载项目
替换本地资源
修改dcloud_control.xml
将data下的dcloud_control.xml内的appid清空,更换成自己uni-app的应用标识AppID
修改Androidmanifest.xml
修改appkey
修改包名
修改build.gradle
权限配置
打开Androidmanifest.xml添加权限语句,这些权限可以在hbuilder的manifest.json中找到,复制过来即可
其他配置说明
as打包apk和自定义基座
打包apk
点击finish即可生成apk,路径如下
自定义基座
HubliderX超过40m就会限制,为此我们可以as来打一个基座再放到hbuilderX即可
替换
在官方离线sdk中的SDK目录下libs目录找到 debug-server-release.aar 文件并复制到项目中的lib文件
修改dcloud_control.xml
点击build bundle
生成的路径为:build/outputs/apk/debug
替换自定义基座
Hbuilder的自定义基座在unpackage/debug路径
用as的debug.apk替换即可,这样就不用采用hbuilder的基座生成,没有40m的限制
转载自:https://juejin.cn/post/7138971130639056909