用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑

用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,第1张

Uni-app 离线打包 apk

1. Android Studio 下载

2. HBuilderX下载

3. App离线SDK下载

  • Android 离线SDK - 正式版

  • 下载后解压文件,将 HBuilder-Integrate-AS 重命名 build-template 并拷贝到一个专门打包用的文件夹下作为打包模板

  • 该文件夹中有一个 simpleDemo 文件夹

    • build-template\simpleDemo\src\main\assets\apps

    • 将 apps 文件夹下的内容删除

    • 运行 HbuilderX

      用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513191744199,第4张

    • 选择生成本地打包 APP 资源

    • 打包完成控制台会提示下面内容

      用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513191907918,第5张

    • 找到打包后的资源目录,将下图文件夹复制到专门打包用的文件夹下,即 build-template\simpleDemo\src\main\assets\apps 文件夹下

      用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513192108596,第6张

4. 申请 Appkey

  • 安装JRE环境(推荐使用JRE8环境,如已有可跳过)

    • 可从Oracle官方下载jre安装包:

    • 建议将JRE安装路径添加到系统环境变量

      用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513192813810,第7张

    • 使用keytool -genkey命令生成证书:

      • cmd 输入以下命令 切换到 D 盘

        d:

        keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore

        • testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
        • test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
        • 36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期
      • 回车后会提示:

        Enter keystore password: //输入证书文件密码,输入完成回车 Re-enter new password: //再次输入证书文件密码,输入完成回车 What is your first and last name? [Unknown]: //输入名字和姓氏,输入完成回车 What is the name of your organizational unit? [Unknown]: //输入组织单位名称,输入完成回车 What is the name of your organization? [Unknown]: //输入组织名称,输入完成回车 What is the name of your City or Locality? [Unknown]: //输入城市或区域名称,输入完成回车 What is the name of your State or Province? [Unknown]: //输入省/市/自治区名称,输入完成回车 What is the two-letter country code for this unit? [Unknown]: //输入国家/地区代号(两个字母),中国为CN,输入完成回车 Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct? [no]: //确认上面输入的内容是否正确,输入y,回车 Enter key password for <testalias> (RETURN if same as keystore password): //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以

      • 以上命令运行完成后就会生成证书,路径为“D:\test.keystore”

    • 查看证书信息

      在 D 盘下运行 cmd

      keytool -list -v -keystore test.keystore Enter keystore password: //输入密码,回车

      会输出以下格式信息:

      用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513193504383,第8张

      只有 SHA1 和 SHA256,但是还需要一个 MD5

    • 此时需要下载一个 openssl 软件,并将其加入到环境变量

      用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513193644829,第9张

      • 安装完成后执行下面命令即可看到输出的 md5

        keytool -exportcert -keystore xxx.keystore | openssl dgst -md5

  • 记录上面生成的 SHA1 SHA256 MD5

    • 用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513220140352,第10张
  • 登录 开发者中心

  • 在应用管理 - 点击应用 - 各平台信息 创建以及查看离线AppKey:

    • 创建时输入对应的 SHA1 SHA256 MD5

    用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,第11张

5. 配置 Android Studio

  • build.gradle配置

    signingConfigs { config { keyAlias '签名别名' keyPassword '签名密码' storeFile file('xxx/xxx/xxx.keystore或xxx/xxx/xxx.jks') // 路劲为相对路径或绝对路径 storePassword '证书文件密码' v1SigningEnabled true //兼容v1 v2SigningEnabled true //兼容v2 } }buildTypes { debug { signingConfig signingConfigs.config ... } release { signingConfig signingConfigs.config ... } }

  • 注意:签名信息需要与后台一致,不一致也会导致appkey校验失败

    • 签名别名 即使用 keytool 工具生成证书时候要求输入的 alias 即上面的 testalias
    • 证书签名密码即使用 keytool 工具生成证书时候要求输入的证书密码
    • 证书文件密码 即使用 keytool 工具生成证书时候要求输入的证书文件密码(那个步骤按 enter 则证书密码和证书文件密码相同)
    • storeFile 即生成的 keystore 文件的位置
  • Androidmanifest.xml配置

    • 获取到android平台的AppKey后!打开Android项目 配置主APP的Androidmanifest.xml文件,找到meta-data节点,name为dcloud_appkey,value为申请的AppKey如下:

      <application ...> <meta-data android:name="dcloud_appkey" android:value="替换为自己申请的Appkey" />

    • 找到 assets 目录下的 data 目录

      • 将 dcloud_control.xml 中的 appid 设置成申请AppKey时的 appid
        用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,在这里插入图片描述,第12张
      • 将 build.gradle 中的 applicationId 设置成申请AppKey时的包名
        用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,在这里插入图片描述,第13张
  • 设置应用名称

    • 编辑 res 目录下的 values 目录中的 strings.xml

      用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513223538252,第14张

    • 设置成应用的名字

  • 设置图标

    • res 目录中的 drawable 目录中
      • icon.png : logo图片
      • push.png : 消息推送logo
      • splash.png : 启动页
  • 设置版本号

    用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513232600631,第15张

6. 打包

用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513232631326,第16张

用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513232650940,第17张

用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513232738940,第18张

用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑,image-20230513232802788,第19张

打包完成后即可在

build-template\simpleDemo\release

中查看打包好的 apk 文件

全文结束

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/13518159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024-01-04
下一篇 2024-01-06

发表评论

登录后才能评论

评论列表(0条)

保存