hbuilderx -- 3.5.3 离线SDK -- 3.6.4 Java -- 11.0.13 2021-10-19 LTS Android Studio -- 4.2.2
准备工作:需提前安装好Android Studio 和 JRE环境
1. 申请Android签名证书
- 在工作目录下打开命令行
- 使用
keytool -genkey命令生成证书keytool -genkey -alias ${证书别名,任意设置,建议使用英文字母和数字} -keyalg RSA -keysize 2048 -validity 36500 -keystore ${证书文件名称,任意设置,以.keystore结尾} // 36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期# test @ testdeMacBook-Pro in ~/desktop/androidtest [10:02:43] $ keytool -genkey -alias myanothername -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore 输入密钥库口令: // 输入证书文件密码 再次输入新口令: // 再次输入证书文件密码 您的名字与姓氏是什么? [Unknown]: test 您的组织单位名称是什么? [Unknown]: test 您的组织名称是什么? [Unknown]: test 您所在的城市或区域名称是什么? [Unknown]: test 您所在的省/市/自治区名称是什么? [Unknown]: test 该单位的双字母国家/地区代码是什么? [Unknown]: test CN=lu, OU=test, O=test, L=test, ST=test, C=test是否正确? [否]: y以上命令运行完成后就会生成证书
- 查看证书信息
keytool -list -v -keystore ${证书文件名称}# test @ testdeMacBook-Pro in ~/desktop/androidtest [10:04:20] $ keytool -list -v -keystore test.keystore 输入密钥库口令: // 输入证书文件密码 密钥库类型: PKCS12 密钥库提供方: SUN 您的密钥库包含 1 个条目 别名: myanothername 创建日期: 2022年10月19日 条目类型: PrivateKeyEntry 证书链长度: 1 证书[1]: 所有者: CN=lu, OU=test, O=test, L=test, ST=test, C=test 发布者: CN=lu, OU=test, O=test, L=test, ST=test, C=test 序列号: 5ca29c6f 生效时间: Wed Oct 19 10:04:19 CST 2022, 失效时间: Fri Sep 25 10:04:19 CST 2122 证书指纹: SHA1: 3C:4E:38:21:23:F2:27:DC:FD:70:D4:5C:80:F7:04:85:12:80:59:E9 SHA256: F1:CE:AA:32:FF:AC:0A:24:E0:BF:9F:08:14:1D:25:83:65:6B:62:F8:85:C7:5C:8E:B0:D4:21:5B:DE:57:68:5F 签名算法名称: SHA256withRSA 主体公共密钥算法: 2048 位 RSA 密钥 版本: 3
2. 申请AppKey
- 登陆dcloud开发者中心
- 输入包名和SHA1(包名自定义,SHA1查看上一步的证书信息可得),获取离线打包配置中的AppKey
3. HbuilderX 生成本地打包App资源
发行 --> 原生App-本地打包 --> 生成本地打包App资源- 提示编译完成后,点击路径跳转到编译的文件夹
![]()
4. 下载Android离线SDK
- 下载Android离线SDK-正式版,压缩包解压一下
|-- HBuilder-HelloUniApp App离线打包演示应用 |-- HBuilder-Integrate-AS 集成uni-app的最简示例 |-- SDK SDK库文件目录 |-- Feature-Android.xls Android平台各扩展Feature API对应的详细配置 |-- readme 版本说明文件及注意事项 |-- UniPlugin-Hello-AS uni原生插件开发示例
- 把默认带的文件夹删除,替换成第三步打包的文件夹即可!
HBuilder-Integrate-AS/simpleDemo/src/main/assets/apps- App离线打包SDK只需要
HBuilder-Integrate-AS这个文件夹,直接在Android Studio中导入HBuilder-Integrate-AS工程,直接运行simpleDemo项目即可(编译过程中,会下载相关依赖包,若出现报错“org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$Artifact” Could not resolve all artifacts for configuration ':classpath'.,可参考这篇文章)- 找到项目中的
build.gradle,并删除红框部分。- 找到项目中的
dcloud_control.xml,更换当前应用的appid![]()
- 找到项目中的
strings.xml,更换当前应用的名字- 项目中相关图标设置
- 更换当前应用的Appkey
- 更换当前应用中的相关参数
- 更换当前应用的包名
5. 生成打包apk
![]()
证书文件是第一步获取的签名证书
![]()
打包成功 - 在编辑器的底部
build栏查看打包状态
![]()
6. App模块配置
高德地图
- 创建key --- key名称自定义、SHA1和包名(和获取appkey的配置一致)
![]()
manifest.json重新配置后需要重新生成本地打包App资源
- 修改
AndroidManifest.xml文件HBuilder-Integrate-AS/simpleDemo/src/main/AndroidManifest.xml![]()
参考文章:https://blog.csdn.net/hkw20/article/details/121063641