uniapp离线打包笔记

环境:Android,Android Studio,Java1.8
参考地址:《Android 原生工程配置》《Android 离线打包使用插件》

一、创建证书

参考:《Android平台签名证书(.keystore)生成指南》

具体命令:

生成

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

生成完可能会提示密码库更换(貌似是这个),控制台会提示对应命令,复制执行即可

查看证书信息

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

二、申请离线打包AppKey

登录开发者中心,选中app点击应用名称,选择各平台信息,点击新增,填写信息,具体不做详细说明,见官方说明。注意:包名一定要跟app包名一致

三、Android工程项目

下载Android离线SDK:最新android平台SDK下载,解压,然后在Android Studio中导入HBuilder-Integrate-AS项目,因为这是官方的Demo,只需要配置一些参数即可。

注意:

  • File-Settings-Build,Execution,Deployment-Build Tools-Gradle 中的Gradle JDK 需选择 Java1.8 版本。

项目打开默认是Android模式,点击左上角Android下拉,选择Project。

1. 配置AppKey

找到simpleDemo中的 src\main\AndroidManifest.xml,找到name值为 dcloud_appkey 的 meta-data,然后将AppKey复制到value中。

2. 包名

找到simpleDemo中的 src\main\AndroidManifest.xml,将manifest的 package 改为自己app的包名

3. 配置信息

找到simpleDemo中的 build.gradle 找到 defaultConfig

  • applicationId 改为自己项目的包名(要跟AppKey的包名对应)
  • versionCodeversionName 改为自己app的版本
    versionCode为应用的版本号(整数值),用于各应用市场的升级判断,建议与manifest.json中version -> code值一致
    versionName为应用的版本名称(字符串),在系统应用管理程序中显示的版本号,建议与manifest.json中version -> name值一致。
  • targetSdkVersion 设置为30或以上
  • minSdkVersion 最低支持21,小于21在部分5.0以下机型上将无法正常使用

4. 证书

simpleDemo\build.gradle 中的signingConfigs下,将证书信息改为自己的证书信息

  • keyAlias 证书别名
  • keyPassword 别名密码
  • storeFile 证书路径,绝对路径即可,如D:\Android\test.keystore
  • storePassword 文件密码

5. 应用名称

打开 simpleDemo\src\main\res\values\strings.xml ,app_name的值改为自己应用的名字

6. 应用图标

在simpleDemo\src\main\res下创建文件夹:
drawable、drawable-hdpi、drawable-ldpi、drawable-mdpi、drawable-xhdpi、drawable-xxhdpi
然后将不同尺寸的图片分别以icon、push、splash命名放到不同文件夹下

  • icon.png为应用的图标
  • push.png为推送消息的图标
  • splash.png为应用启动页的图标

图标大小参考:

分辨率图标尺寸
ldpi(低密度)36 x 36 px
mdpi(中等密度)48 x 48 px
hdpi(高密度)72 x 72 px
xhdpi(超高密度)96 x 96 px
xxhdpi(超超高密度)144 x 144 px

用于启动页对不同屏幕的适应情况可能会有所拉伸,所以可以使用.9.png,参考:《Android平台启动图使用.9.png图片》

启动页大小参考:

分辨率启动页尺寸
ldpi(低密度)200 x 320 px
mdpi(中等密度)320 x 480 px
hdpi(高密度)480 x 800 px
xhdpi(超高密度)720 x 1280 px
xxhdpi(超超高密度)1080 x 1920 px

7. 引入Uniapp项目

删掉 simpleDemo\src\main\assets\apps,下的文件夹,在HBuilderX中,点击发行-原生App本地打包-生成本地App打包资源,待打包完后,将 dist-resources 下的文件夹复制到 simpleDemo\src\main\assets\apps

simpleDemo\src\main\assets\data\dcloud_control.xml 中的appid值改为自己Uniapp项目的AppID(生成自定义基座,需要在根节点下添加debug="true"和syncDebug=“true”)

8. 运行/打包

链接手机,打开USB调试或者打开安卓模拟器,点击Android Studio上方的绿色三角即可。

点击Android Studio菜单的 Build-Generate Signed Bundle / APK...,弹出窗中选择APK,点击Next,然后选择证书,填写密码等信息即可。

三、原生插件

如果离线打包使用了原生插件,需要将插件文件夹下的android、以及libs中的arr和jar都复制到 simpleDemo\libs 中,然后在 simpleDemo\src\main\assets 中创建 dcloud_uniplugins.json 文件,将插件信息写入,如:

{
  "nativePlugins": [
    {
      "plugins": [
        {
          "type": "module",
          "name": "JG-JCore",
          "class": "cn.jiguang.uniplugin_jcore.JCoreModule"
        },
        {
          "type": "module",
          "name": "JG-JPush",
          "class": "cn.jiguang.uniplugin_jpush.JPushModule"
        }
      ]
    }
  ]
}

可具体找到插件package.json中的plugins信息复制

如果插件需要特定参数,如在HBuilderX的manifest.json中的App原生插件配置,可能要填写一些参数,需要在 src\main\AndroidManifest.xml 中配置特定的meta-data,name值往往与HBuilderX中要求的一直,注意省略_ANDROID、_IOS字符,如极光配置:

HBuilderX中为JPUSH_APPKEY_ANDROID,而AndroidManifest需配置:

<meta-data
	android:name="JPUSH_APPKEY"
	android:value="你申请的appkey" />

感谢阅读!点个赞留个足迹吧!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会功夫的李白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值