使用 HBuilder X + Android Studio 打包 uni-app 为 APK 完整教程
一、所需工具
- 代码开发工具:HBuilder X
- APK 打包工具:Android Studio
- APK 打包 SDK:Android 离线 SDK
- 下载地址:Android 离线 SDK
- 生成签名证书的工具:JDK 1.8
- 说明:只需 JRE 也可,但 JDK 包含 JRE,推荐直接安装 JDK,并配置环境变量
- 环境变量配置参考:JDK 环境变量配置教程
- 生成 AppKey 的网站:DCloud 开发者中心
- 网址:开发者中心
二、导出前的配置(HBuilder X)
- 在 HBuilder X 中打开 uni-app 项目,找到
manifest.json文件并打开。 - 在可视化配置界面中,主要配置基础信息:
- uni-app 应用标识(AppID):如果默认没有,点击“重新获取”即可自动生成(会有警告,不影响使用)。
- Vue 版本:按项目实际情况选择。
- 其他选项可暂填任意内容(仅用于打包测试)。
三、导出 uni-app 项目资源
- 确保项目在手机上运行测试通过。
- 点击 HBuilder X 顶部菜单:发行 → 原生App-本地打包 → 生成本地打包App资源。
- 首次点击可能提示安装必要组件,按提示安装即可。
- 导出成功后,控制台会显示资源路径。记下该路径,HBuilder X 的任务至此完成。
四、下载并准备 Android 离线 SDK
- 从 Android 离线 SDK 下载 SDK。
- 解压后,将 HBuilder X 导出的文件夹(即上一步控制台显示的路径,注意是
www文件夹的上一级,该文件夹以 AppID 命名)移动到以下目录:HBuilder-Integrate-AS\simpleDemo\src\main\assets\apps - 该目录下默认有一个名为
__UNI__A的文件夹,直接删除。
五、使用 Android Studio 导入 SDK 示例项目
- 安装 Android Studio(若已安装可跳过)。
- 下载地址:Android Studio 官方下载
- 打开 Android Studio,导入离线 SDK 中的
HBuilder-Integrate-AS文件夹。- 注意:文件路径中不要包含中文,否则可能报错。
六、修改dcloud_control.xml中的 AppID
- 在 Android Studio 项目结构中,找到
assets/data/dcloud_control.xml文件。 - 将文件中
appid的值修改为你在 HBuilder X 中生成的 AppID(即移动过来的那个文件夹的名称)。
七、生成 Android 签名证书
1. 简介
Android 平台打包 APK 需要使用数字证书(.keystore文件)进行签名,证书可自助免费生成。
2. 使用 keytool 命令生成证书
打开命令行(CMD),执行以下操作:
d:setPATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"- 第一行:切换工作目录到 D 盘(可自定义)
- 第二行:将 JRE 命令添加到临时环境变量(路径根据你的 JDK 实际安装位置修改)
执行生成命令:
keytool-genkey-aliastestalias-keyalgRSA-keysize2048-validity36500-keystoretest.keystore参数说明:
testalias:证书别名,可自定义(建议英文+数字)test.keystore:证书文件名,可自定义36500:有效期(天),100年,建议足够长
按提示输入信息:
- 输入证书密码(需记住)
- 确认密码
- 姓名、组织单位、组织名称、城市、省份、国家代码(中国为 CN)
- 最后确认输入是否正确(输入
y) - 提示“Enter key password for ”时,直接回车(保持与证书密码一致)
生成成功后,证书位于D:\test.keystore。
3. 查看证书信息(获取 SHA1)
keytool-list-v-keystoretest.keystore输入密码后,输出信息中包含证书指纹(Certificate fingerprints):
- SHA1:形如
BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7 - 注意:新版 JDK 可能不再显示 MD5,但 SHA1 仍然可用。
保存好 SHA1 值,后续生成 AppKey 时需要。
八、生成 AppKey
- 登录 DCloud 开发者中心。
- 在“我的应用”中找到你在 HBuilder X 中创建的应用(AppID 已自动同步),点击应用名称进入管理页面。
- 选择平台:Android。
- 填写信息:
- Android 包名:打开离线 SDK 中的
HBuilder-Integrate-AS\simpleDemo\src\main\AndroidManifest.xml,找到package属性,默认值为com.android.simple(请以实际为准)。 - Android 证书签名 SHA1:填入上一步获取的 SHA1 值。
- Android 包名:打开离线 SDK 中的
- 点击确认,生成 AppKey。
九、在 Android Studio 中配置 AppKey
- 回到 Android Studio,打开
AndroidManifest.xml。 - 在
<application>标签内添加如下元数据(将生成的AppKey替换为实际值):
<meta-dataandroid:name="dcloud_appkey"android:value="生成的AppKey"/>十、打包 APK
- 在 Android Studio 菜单栏点击:Build → Generate Signed Bundle / APK…
- 选择APK,点击Next。
- 点击Choose existing…,选择你生成的证书文件(
test.keystore)。- 自动填充
Key store path - 输入
Key store password、Key alias、Key password(与生成证书时设置的一致) - 建议勾选Remember passwords(方便下次打包)
- 自动填充
- 点击Next,选择输出路径,Build Type选择
release,点击Finish。 - 等待构建完成,下方 Build 控制台显示
BUILD SUCCESSFUL。 - 在输出路径的
release文件夹中找到生成的 APK 文件。
十一、安装测试
- 将 APK 安装到手机并打开。
- 若正常启动,则打包成功。
- 若提示“AppKey 不存在或配置错误”,请检查:
- 第九步中 AppKey 是否正确填写。
- Android 包名是否与
AndroidManifest.xml中的包名完全一致。