Published on

uni-app:Android离线打包

Authors
  • avatar
    Name
    Hentai
    Twitter

App离线开发工具包,即App离线SDK,是把App运行环境(runtime)封装为原生开发调用接口,开发者可以在自己的 Android 及 iOS 原生开发环境配置工程使用,包括 Android离线开发SDK 及 iOS离线开发SDK。

AppKey

从3.1.10版本开始使用App离线SDK需要申请Appkey,具体请参考链接 申请Appkey

开发环境

  1. Android Studio 下载地址:Android Studio官网 .
  2. HBuilderX
  3. App离线SDK下载:最新android平台SDK下载,推荐使用和彩云。

SDK目录说明

	|-- HBuilder-Hello				App离线打包演示应用
	|-- HBuilder-Integrate-AS		集成uni-app的最简示例
	|-- SDK							SDK库文件目录
	|-- Feature-Android.xls			Android平台各扩展Feature API对应的详细配置
	|-- Readme.txt					版本说明文件及注意事项
	|-- UniPlugin-Hello-AS			uni原生插件开发示例

导入工程

导入HBuilder-Integrate-AS工程,直接运行simpleDemo项目即可。

配置工程

  1. 应用配置

打开Androidmanifest.xml, 导航到Application节点,修改meta-data节点,namedcloud_appkeyvalue为申请的AppKey如下所示:

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

打开build.gradle配置应用版本号和applicationId以及signingConfigs

defaultConfig {
        applicationId "离线key中的包名/appid/域名"
        minSdkVersion 21
        targetSdkVersion 33
        versionCode 1120
        versionName "1.1.20"
        multiDexEnabled true
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
signingConfigs {
        config {
            keyAlias '别名'
            keyPassword '证书文件密码'
            storeFile file('证书文件,放在项目根目录中')
            storePassword '证书文件密码'
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }

versionCode为应用的版本号(整数值),用于各应用市场的升级判断,建议与manifest.jsonversion -> code值一致。

versionName为应用的版本名称(字符串),在系统应用管理程序中显示的版本号,建议与manifest.jsonversion -> name值一致。

applicationId为应用的包名,一般设置为反向域名,不建议修改。

建议将targetSdkVersion设置为30或以上。

注意:如果targetSdkVersion设置为34时,需要在build.gradle的android节点下新增以下内容:

packagingOptions {
	jniLibs {
		useLegacyPackaging true
	}
}

App离线SDK minSdkVersion最低支持21,小于21在部分5.0以下机型上将无法正常使用。

  1. 资源配置

删除simpleDemo中assets/apps/下所有资源,从HBuilderX中生成本地App打包资源,将生成的的资源复制到该路径下。修改dcloud_control.xml中的appid确保dcloud_control.xml中的appid与manifest.json中的id与文件夹名一致,如下图所示:

连接手机或启动虚拟机,点击按钮,运行即可。

打包发行

点击Build->Generate Signed App Bundle Or APK...选择APK的方式打包,证书就是之前申请Appkey时的证书文件。

参考链接