乐趣区

关于uni-app:uniapp的安卓平台App本地离线打包流程

建设我的项目

  1. 下载 HBuilderX,登录 dclould 账号 (必须)
  2. 新建我的项目

本地打包

打包后的文件

回到 上两层目录

待会须要复制整个 \_\_UNI\_\_354F6F0 目录

生成离线打包 Key

具体方法: https://ask.dcloud.net.cn/art…

生成证书

装置 JDK 后输出以下命令

命令格局:

keytool -genkey -alias 证书别名 -keyalg RSA -keysize 2048 -validity 证书的有效期 -keystore 证书文件名

留神:

  1. 输出上述命令后的第一个输出时明码,这个明码是证书的明码,必须记录,假如这里的明码是 ”leonardpwd”
  2. 再输出一连串信息后他会问你是否正确,此时须要手动输出 “ 是 ”
keytool -genkey -alias leonard-app -keyalg RSA -keysize 2048 -validity 36500 -keystore leonard-app.keystore

查看证书

keytool -list -v -keystore leonard-app.keystore
Enter keystore password: // 输出明码, 我的是下面设置的 "leonardpwd",回车 

显示的信息相似下方文本,其中 证书指纹 SHA1 待会须要应用

 输出密钥库口令:
密钥库类型: PKCS12
密钥库提供方: SUN

您的密钥库蕴含 1 个条目

别名: leonard-app
创立日期: 2021 年 5 月 31 日
条目类型: PrivateKeyEntry
证书链长度: 1
证书 [1]:
所有者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
发布者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
序列号: a2ac5fd0886b0130
失效工夫: Mon May 31 10:51:26 CST 2021, 生效工夫: Wed May 07 10:51:26 CST 2121
证书指纹:
         SHA1: 99:23:00:18:40:20:D1:F3:41:D5:70:6D:38:94:56:58:68:C3:1E:33
         SHA256: 8F:17:A9:63:3A:34:26:15:1C:6F:B8:30:D7:A4:59:42:99:F8:04:60:86:84:4C:83:B3:1E:C4:2E:F3:AA:EB:07
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

扩大:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 88 41 F4 2F A9 C5 F4 68   86 D7 6E E9 D5 3D A9 F1  .A./...h..n..=..
0010: A2 DF 3B 89                                        ..;.
]
]

设置 Key

关上 DCloud 开发者核心,并点击咱们的我的项目

点击 “ 离线打包 Key 治理 ”,并填写相干信息

这就是咱们的 AppKey

安卓相干配置

文件地位: https://nativesupport.dcloud….

  1. 装置 Android Studio
  2. 下载好 App 离线 SDK
  3. 下载后,解压缩失去
  4. 复制 HBuilder-HelloUniApp 文件夹到一个中央存储

导入我的项目

关上 Android Studio, 关上曾经存在的我的项目 (Open an Existing Project)

留神,第一次关上可能须要期待很长时间,Android Studio 正在导入相干文件

我的项目配置

删除我的项目本来文件

点击显示具体目录

删除我的项目自带示例文件夹

复制我的项目

再本文章节 ” 本地打包 ” 中曾经打包实现,复制以下整个文件夹

粘贴到 apps 文件夹中

最终成果

设置 APPID

关上 manifest.json,复制 id

关上 data/dcloud_control.xml , 粘贴替换为方才复制的 id

设置 AppKey

网页关上 DCloud 开发者核心,进入我的项目,点击 “ 离线打包 Key 治理 ”,复制 Android 的 App Key

粘贴到 manifests/AndroidManifest.xml 中的 meta-data 节点 (该节点个别再文件最底部)

设置证书

  1. 关上 build.gradle 文件 (留神不是下面那个,能够依照文件名前面括号的字辨别)
  2. 再 signingConfigs -> config 外部填写相干信息

    keyAlias '证书别名'
    keyPassword '证书明码'
    storeFile file('证书门路,留神双斜杠')
    storePassword '证书明码'
  3. 点击右上角 “Sync Now”

批改 applicationId

  1. build.gradle -> manifestPlaceholders -> apk.applicationId

    我的是 com.leonard.app

  1. AndroidManifest.xml

    package 内的值和 build.gradle 文件中的值一样

批改 provider

关上 AndroidManifest.xml,查找 android:authorities,批改值为 xxx.xxx.xxx.fileprovider

此处我批改为 com.leonard.app.fileprovider

打包 APK

Build -> Build Bundle(s) / APK(s) -> Build APK(s)

打包实现后,右下角会呈现提醒,点击 locate 即可找到 APK 文件

关上安卓手机,装置该 apk 查看即可

END

退出移动版