UniApp Android 离线打包完整
适用于 UniApp 开发者快速掌握 Android 平台离线打包流程,摆脱 HBuilderX 在线云打包依赖,提升构建效率与安全性。
为什么需要离线打包
对于我个人,如果在Hbuilder云打包一次需要的时间太长而且次数有限,厌倦了云打包的速度,所以决定自己实现一个离线打包。
首先需要下载uni官方的离线打包项目
进入工程可以看到如下文件夹

build.gradle中配置签名
bash
buildToolsVersion '35.0.0'
namespace 'com.shuishenhuole.test'
defaultConfig {
applicationId "com.shuishenhuole.test"
minSdkVersion 21
targetSdkVersion 33
versionCode 1
versionName "1.0"
multiDexEnabled true
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
signingConfigs {
config {
keyAlias '签名别名'
keyPassword '签名密码'
storeFile file('xxx/xxx/xxx.keystore或xxx/xxx/xxx.jks') // 路径为相对路径或绝对路径
storePassword '密码'
v1SigningEnabled true //兼容v1
v2SigningEnabled true //兼容v2
}
}
如果使用的是云签名
密码=签名密码
applicationId 为应用包名
namespace 最好也填写包名
Hbuilder打包
打包hbuilder生成打包文件
bash
[HBuilder] 10:37:42.024 编译器版本:4.87(vue3)
[HBuilder] 10:37:42.032 正在编译中...
[HBuilder] 10:38:27.104 项目 test 编译成功。
[HBuilder] 10:38:27.161 项目 test 正在导出...
[HBuilder] 10:38:27.219 项目 test 导出成功,路径为:C:\Users\shuishenhuole\Desktop\yd\test\unpackage\resources
将打包之后的文件放在assets/apps文件中(Android项目中)
配置dcloud_control.xml
assets/data/dcloud_control.xml
appid=填写自己的app包名
xml
<hbuilder>
<apps>
<app appid="__UNI__F474772" appver=""/>
</apps>
</hbuilder>
配置AndroidManifest.xml
android:value=填写自己的appkey
xml
<meta-data
android:name="dcloud_appkey"
android:value="73afb5b0a3d2c3c70805be819edca799" />
配置图标
icon.png为应用的图标。
push.png为推送消息的图标。
splash.png为应用启动页的图标。
如何生成apk文件?

如需要更多的配置可以查阅如下官方文档
官方文档
配置apikey文档