NEWS DETAIL

Android 离线打包详细流程

发布时间:2026/10/25 1:51:22 · 栏目:资讯中心

尧图网络原创建站知识分享正文
前言✨本文主要介绍基于uni-app前端框架开发后实现 Android 离线打包的详细流程。一、准备环境确保 HBuilderX、离线 SDK 和 JDK 的版本一致。1.1 下载并安装HBuilderX1.2 下载并安装JDK 8JDK 必须 JDK81.8Android Studio 新版自带的 JDK11/17 会构建报错。1.3 下载 Android 离线SDK从 DCloud Android 离线SDK下载页 下载与你的 HBuilderX 大版本完全匹配的离线SDK。【HBuilderX 5.15Android 离线 SDK 5.15】1.4 下载安装Android Studio官方下载页https://developer.android.com/studio?hlzh-cn官方国内镜像下载页https://developer.android.google.cn/studio?hlzh-cn二、配置项目信息2.1 确保 manifest.json 的AppID已生成2.2 登录DCloud开发者中心官方地址https://dev.dcloud.net.cn/核心后台离线 SDK、AppID、推送、证书管理都在这里。在我的应用中找到该项目申请离线打包Key3.1.10版本后必需后续配置要用到。# 生成签名证书(在电脑上需要安装好 Java JDK)keytool-genkey-aliaswaisaa-keyalgRSA-keysize2048-validity36500-keystorewaisaa.keystore# 密钥库口令123456# 迁移到行业标准格式 PKCS12keytool-importkeystore-srckeystorewaisaa.keystore-destkeystorewaisaa.keystore-deststoretypepkcs12# 查看证书信息keytool-list-v-keystorewaisaa.keystore# 离线打包Key4eb123456ceef501234567f0bd810cb8三、生成本地打包App资源在 HBuilderX 打开项目 → 菜单栏“发行” → “App-Android/iOS-本地打包” → “生成本地打包App资源”等待生成完毕会在unpackage/resources目录下生成该项目的资源包。四、导入SDK解压离线SDK用 Android Studio 打开HBuilder-Integrate-AS工程。五、替换资源文件将 HBuilderX 生成的__UNI__xxxx资源文件夹 完整复制到app/src/main/assets/apps/目录下并删除旧的默认文件夹。六、修改项目信息【关键步骤】这个步骤的配置很关键用到了前面准备好的相关信息需要一一对应。6.1 配置AppID在 assets/data/dcloud_control.xml 文件中将 标签的 appid 值改成你的 AppID。6.2 配置AppKey在AndroidManifest.xml文件中找到 meta-data android:name“dcloud_appkey” …/将 android:value 替换为你在开发者中心申请的 AppKey。6.3 配置应用签名在app/build.gradle文件中的 signingConfigs 块内填写你的证书信息storeFile、storePassword、keyAlias、keyPassword。注意keyPassword和storePassword的值都为密钥库口令。6.4 配置包名 (applicationId)同样在app/build.gradle文件中修改 defaultConfig 下的namespace和applicationId为你的应用包名。注意两个不同的app包名不能相同因为Android 系统识别应用的唯一标识是包名applicationId不是 DCloud 的 appid。6.5 自动读取版本并赋值这一步配置可以实现每次打包只用更换app资源包不用手动修改版本版本号会自动读取资源包中的版本号。也同样是在 app/build.gradle 文件中进行修改在apply plugin: com.android.application下面加入如下内容(注意路径中的AppID替换成你自己的)// 1. 导入JSON解析 import groovy.json.JsonSlurper // 2. 定义方法读取UniApp的manifest.json版本 def getUniAppVersion() { // 这里路径要改成你自己的 // 一般是src/main/assets/apps/你的UniAppID/www/manifest.json def manifestFile file(src/main/assets/apps/__UNI__0777BD3/www/manifest.json) if (!manifestFile.exists()) { println ⚠️ manifest.json不存在使用默认版本 return [code: 0, name: 1.0.0] } try { def json new JsonSlurper().parse(manifestFile) def code json.version.code as Integer def name json.version.name println ✅ 自动读取版本versionCode${code}, versionName${name} return [code: code, name: name] } catch (e) { println ❌ 读取manifest失败${e.message} return [code: 0, name: 1.0.0] } } // 执行获取 def uniVer getUniAppVersion()6.6 配置打包apk名称也同样是在app/build.gradle文件中进行修改在buildTypes下面加入如下内容(这里根据获取的打包类型和版本号自己定义具体格式)applicationVariants.all { variant - variant.outputs.all { def buildType variant.buildType.name def version variant.versionName outputFileName wlfrecipe_v${version}.apk } }6.7 配置apk图标把你自己制作好的logo放到res/drawable/目录下名称固定为icon.png。6.8 配置app名称修改res/values/目录下的strings.xml把app_name设置成自己app的名称。6.9 配置app自动更新所需权限在AndroidManifest.xml文件中新增如下内容!-- 网络权限下载APK需要 -- uses-permission android:nameandroid.permission.INTERNET / uses-permission android:nameandroid.permission.ACCESS_NETWORK_STATE / !-- 读写存储保存APK文件需要 -- uses-permission android:nameandroid.permission.WRITE_EXTERNAL_STORAGE / uses-permission android:nameandroid.permission.READ_EXTERNAL_STORAGE / !-- 关键安装APK权限Android 8 必须 -- uses-permission android:nameandroid.permission.REQUEST_INSTALL_PACKAGES / !-- 可选小米等机型的额外权限 -- uses-permission android:namecom.miui.securitycenter.permission.INSTALL_APP /七、生成APK在 Android Studio 中点击菜单栏的Main Menu→Build→Generate App Bundle(s) or APKs→Generate APKs等待编译完成即可。最终会在simpleDemo/build/outputs/apk/debug目录下生成apk。
✦

本文为尧图网络原创建站知识分享。想针对自身行业获取定制化建站方案?欢迎咨询,资深顾问免费为你出思路。

RELATED

相关 资讯推荐

MORE

更多 新鲜资讯

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析
2026/10/21 11:24:40

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析

1. 项目概述:从零开始,用JMeter搞定HTTP性能测试 刚接触性能测试的新手,或者是从功能测试转过来的朋友,一听到“压测”两个字,心里可能就有点发怵。工具那么多,概念那么杂,从哪儿下手呢&#xf…

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统
2026/10/24 20:39:51

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统

最近我用TypeScript写了一个运行在浏览器里的Web操作系统 Earendel(目前已知的距离地球最遥远的恒星)。开发它的初衷主要是为了Linux和操作系统课程的教学。市面上绝大多数Web OS项目,要么只是做了一个长得像Windows/macOS的网页UI拼盘&#…

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]
2026/10/19 6:46:54

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形🚀 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: http…

从零制作同人动画:技术路线、流程与实战避坑指南
2026/10/24 7:09:28

从零制作同人动画:技术路线、流程与实战避坑指南

1. 先搞清楚这个“粉丝动画”到底是什么,以及它能解决什么问题看到“五条悟VS宿傩/咒术回战粉丝动画”这个标题,很多人的第一反应可能是去找一个现成的视频。但如果你是一个想自己动手创作、或者想了解这类作品背后技术流程的创作者,这个标题…

闭源降价80%,开源却在涨价:AI定价的交叉路口
2026/10/24 22:16:44

闭源降价80%,开源却在涨价:AI定价的交叉路口

8月6日,两条价格曲线悄然交汇。 一条向下:OpenAI把GPT-5.6 Luna的输出价格从6美元砍到1.2美元/百万Token,降幅80%。另一条向上:同一天,DeepSeek公告全线涨价,措辞是"涨幅较大",非试探…

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买
2026/10/23 10:16:26

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买经常有工厂朋友拿着网上的"三防平板十大品牌排行榜"来问我:到底选哪个?说实话排行榜看看就行,真正选型得看你产线什么场景。今天挑五个在产线数字化里用得比较多的品牌—…

看完这篇,还想了解更多?

预约尧图网络顾问一对一沟通,针对你的行业与现状给出建站建议,全程免费。

免费咨询