
简体中文
应用图标是在手机上安装应用后显示在桌面的图标,可在 manifest.json 的可视化界面配置:
如果不配置,默认使用以下图标:
注意
Android8及以上系统在Google Pixel手机中应用图标在某些地方是圆形的,仅配置普通图标会导致显示较小,可通过以下方法配置适配:
在项目的AndroidManifest.xml中的application节点添加android:roundIcon属性配置应用使用圆形图标
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
<application
android:roundIcon="@drawable/icon_round" >
</application>
</manifest>
在项目的nativeResources\android\res\drawable-xxhdpi目录下添加圆形图标文件icon_round.png
注意:需提交云端打包后才能生效
App启动时,系统加载应用渲染首页需要一定的时间,为了避免用户等待,手机操作系统提供了特殊的启动界面设计,让用户先看到一个简单的界面,等应用加载完成后正式进入应用首页。
这个界面,即被称为启动封面,也成称为 splash。
当然并非所有App都需要splash,很多系统应用比如计算器、日历都没有splash。
uni-app x中,如不配置splash,则与计算器等应用一致,启动时有轻微闪白,但可以让用户更快的使用首页。
如需配置splash,注意避免splash图与首页风格差异太大。因为uni-app x启动速度非常快,splash只是一闪而过,如果颜色差异太大,会让用户视觉不舒服。
HBuilderX 3.99+ 版本支持配置启动界面
HBuilderX 4.71 及以上版本Andrid平台可视化界面设置调整到安卓App配置
项中
uni-app x 的 app-android 平台,启动界面有以下策略:
打开项目的manifest.json文件,在可视化界面中配置各分辨率启动图:
HBuilderX 4.71 及以上版本
在 “安卓App配置” 的 “启动界面配置” -> “启动图配置” 中设置
HBuilderX 4.71 以下版本
在 “安卓/iOS启动界面配置” 的 “Android启动图设置” 中设置
推荐使用
.9.png
来适配不同分辨率。
manifest虽然可以定义3种标准分辨率的启动图配置,而实际上存在很多不同分辨率的手机,导致启动图在一些不常见的设备会进行拉伸或压缩引起变形。
为了解决此问题,Google推出了可以适配各种尺寸的一种图片格式“.9.png”。它可以指定特定的区域进行拉伸而不失真。
使用.9.png的优点
.9.png图片和普通png图片的差异
制作.9.png图片 Android Studio 已经集成 .9.png 图片编辑工具,使用详情可参考 Android 官方文档:Create resizable bitmaps (9-patch files)
详细制作步骤可参考链接:Android中.9图片的含义及制作教程
也可以使用在线.9.png生成工具:http://inloop.github.io/shadow4android/
.9.png作为启动图使用时注意以下事项:
不要使用圆角图,图片内容区域不要包含透明信息(4条黑边可以有透明信息)
为了有更好的兼容性,右侧和底部黑边应该拉满完整区域,不拉满可能在部分设备会显示灰色区域
.9.png配置使用 打开项目的manifest.json文件,在“App启动界面配置”中的“Android启动界面设置”项下,在各分辨率启动图设置框选择需要使用的.9.png图片(图片尺寸请按照提示尺寸对应上传),保存后提交云端打包即可。
不同尺寸的启动图是为了适配不同分辨率的手机,所以提交打包时请务必上传不同尺寸的启动图,切忌上传多张同尺寸启动图
可以参考开发者在插件市场做好的.9样例工程
Android 12(API 31)开始强制开启 SplashScreen 。
这个启动界面不是静态图片,而是自定义启动封面的背景颜色、居中logo图标、底部品牌图标。
如果不配置SplashScreen,在Android 12及以上系统的官方Rom和部分三方Rom上,默认会显示白色背景+居中的应用图标,不会显示配置的splash启动图。
但大部分国产Rom默认关闭了这个效果。所以这是一个非常碎片化的问题,在不同的Android版本、不同的Rom上有差异。
海外手机大多支持SplashScreen,而国内手机大多不支持。
在支持的Rom上表现形式如下图,启动后会看到下面的界面,然后直接进入应用主页。
项目的manifest.json文件中,在“App启动界面配置”中的“Google SplashScreen配置”项下,可以配置背景颜色及各设备分辨率的居中logo图标、底部品牌图标。
可选配置,默认白色
可选配置,默认应用启动图标
可选配置,默认底部不显示品牌图标
Tips
Splash是因为主界面渲染慢,给用户一个等待过渡。但注意复杂的Splash,也一样会影响启动速度。
不配置启动图,在SplashScreen中配置一个小的白色Logo图。
这样在所有Rom中启动都不会有splash效果。
如果不在SplashScreen配置白色小图,那么在支持SplashScreen的Rom上,启动会在中间渲染App的icon图标。当然这样一个小图也不会占用太多渲染资源。
那么首先需要配置启动图,确保不支持SplashScreen的手机上显示这个启动图。
然后Google SplashScreen配置中配置背景色、居中图标和底图,在支持SplashScreen的手机上,启动封面会变成这个效果。
在不支持SplashScreen的手机上,会显示启动图;在支持SplashScreen的手机上,不会显示启动图,而是会显示白底背景+居中应用图标。
在支持SplashScreen的手机上会显示您的配置。在不支持SplashScreen的手机上会闪白,相当于没有Splash效果。
uni-app js引擎版的Android App启动时那个默认的logo转圈效果,其实不是splash,是应用启动后原生view绘制的一个动画。所以点击桌面应用图标后界面不会立即有反应。这个设计影响启动速度,在uni-app x上被废弃了。
splash默认是在首页onShow时关闭。但可配置,打开项目的manifest.json文件,选择源码视图,在app->splashScreen节点下设置autoClose值域,控制splash关闭时机,默认onShow。
autoClose取值范围:
值域 | 说明 |
---|---|
onShow | 首页页面生命周期触发onShow时关闭splash |
onReady | 首页页面生命周期触发onReady时关闭splash |
onReady触发时机要比onShow晚一些。
暂不支持其他方式关闭splash。
配置示例:
HBuilderX 4.71 及以上版本
{
"app-android" : {
"splashScreen" : {
"autoClose" : "onReady"
}
}
}
HBuilderX 4.71 以下版本
{
"app" : {
"splashScreen" : {
"autoClose" : "onReady"
}
}
}
注意
首页
,指的是第一个真正显示的页面,如项目中pages.json第一个页面A在onLoad生命周期被关闭重新跳转了一个新页面B并显示,则B页面就是首页
,原因是显示的是页面B,A页面并未显示,
如果是在页面A的onShow或更晚的生命周期关闭在跳转或直接跳转,则页面A是首页
,因为页面A已经显示符合第一个真正显示的页面。应用的启动有冷启动、温启动、切换到前台,这三种方式splash展示时间是有区别的。
应用冷启动
指首次启动或被kill掉进程后的启动,冷启动时初始化环境,数据加载等会占用一些启动时间,所以splash展示时间长一些。
切换至前台
应用未被关闭,再次启动只是激活到前台,此时不显示splash。
温启动
指应用的activity退出但进程仍未被手机系统回收。此时启动,由于不会再初始化环境,加载数据等操作,所以相对启动时间较少,splash展示时间也会缩短。
由于uni-app x默认在app.uvue里使用了uni.exit,这种退出方式只关闭了activity,没有关闭应用进程。如果rom没有回收掉App进程时再启动该App,就会触发温启动。此时splash会一闪而过。
当然App如何退出是开发者自己定义的。很多Android App直接单击back隐藏在后台,不弹toast询问用户是否退出。此时也可以避免温启动的splash快闪。这种方式的开发详见切换应用到后台。
HBuilderX 4.71 及以上版本支持可视化界面配置
定位相关功能使用 provider机制 实现,uni-app x 项目中使用 uni.getLocation,uni.onLocationChange,uni.offLocationChange 等API时依赖此模块。
支持以下定位 provider :
使用系统自带定位功能,由ROM系统实现。使用此模块,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “安卓App配置” 的 “可选模块配置” -> “uni-location(定位)” 中勾选 “系统定位”:
也可通过源码视图
在 "app-android" -> "distribute" -> "modules" -> "uni-location" 下添加 "system" 节点,如下示例:
{
"app-android": {
"distribute": {
"modules": {
"uni-location":{
"system":{}
}
}
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "modules" -> "uni-location" 下添加 "system" 节点,如下示例:
{
"app": {
"distribute": {
"modules": {
"uni-location":{
"system":{}
}
}
}
}
}
使用 腾讯位置服务 的 “Android定位SDK” 实现,使用前需申请Key。
同时使用 腾讯地图 时,要求使用相同的Key
使用此模块,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “安卓App配置” 的 “可选模块配置” -> “uni-location(定位)” 中勾选 “腾讯定位” 并配置 Key:
配置参数
也可通过源码视图
在 "app-android" -> "distribute" -> "modules" -> "uni-location" 下添加 "tencent" 节点,如下示例:
{
"app-android": {
"distribute": {
"modules": {
"uni-location":{
"tencent":{
"key": "%从腾讯位置服务申请的Key%"
}
}
}
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "modules" -> "uni-location" 下添加 "tencent" 节点,如下示例:
{
"app": {
"distribute": {
"modules": {
"uni-location":{
"tencent":{}
}
}
}
}
}
HBuilder 4.71 以下版本不支持在 manifest.json 中配置
腾讯位置服务
申请的 Key,需在项目根目录下添加 AndroidManifest.xml 文件,将 Key 配置到 application 下的 meta-data 节点中,如下示例:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
>
<application>
<!-- 将申请到的 Key 配置在 android:value 属性中 -->
<meta-data android:name="TencentMapSDK" android:value="%从腾讯位置服务申请的Key%" />
</application>
</manifest>
uni-app x 项目中使用 map 组件,uni.chooseLocation API时依赖此模块。
地图是商业服务,授权较贵,如需购买,请点击获取优惠。
使用 腾讯位置服务 的 “Android地图SDK” 实现,使用前需申请Key,并在腾讯后台申请 Key 界面勾选“SDK”。
同时使用 腾讯定位 时,要求使用相同的Key
使用此模块,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “安卓App配置” 的 “可选模块配置” -> “uni-map(地图)” 中勾选 “腾讯地图” 并配置 Key:
配置参数
也可通过源码视图
在 "app-android" -> "distribute" -> "modules" -> "uni-map" 下添加 "tencent" 节点配置,如下示例:
{
"app-android": {
"distribute": {
"modules": {
"uni-map":{
"tencent":{
"key": "%从腾讯位置服务申请的Key%"
}
}
}
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "modules" -> "uni-map" 下添加 "tencent" 节点,如下示例:
{
"app": {
"distribute": {
"modules": {
"uni-map":{
"tencent":{}
}
}
}
}
}
HBuilder 4.71 以下版本不支持在 manifest.json 中配置从
腾讯位置服务
申请的 Key,需在项目根目录下添加 AndroidManifest.xml 文件,将 Key 配置到 application 下的 meta-data 节点中,如下示例:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
>
<application>
<!-- 将申请到的 Key 配置在 android:value 属性中 -->
<meta-data android:name="TencentMapSDK" android:value="%从腾讯位置服务申请的Key%" />
</application>
</manifest>
请求支付功能使用 provider机制 实现,uni-app x 项目中使用 uni.requestPayment API时依赖此模块。
支持以下支付 provider :
使用 “App支付宝客户端SDK” 实现。使用此模块,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “安卓App配置” 的 “可选模块配置” -> “uni-payment(支付)” 中勾选 “支付宝支付”:
也可通过源码视图
在 "app-android" -> "distribute" -> "modules" -> "uni-payment" 下添加 "alipay" 节点配置,如下示例:
{
"app-android": {
"distribute": {
"modules": {
"uni-payment":{
"alipay":{}
}
}
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "modules" -> "uni-payment" 下添加 "alipay" 节点,如下示例:
{
"app": {
"distribute": {
"modules": {
"uni-payment":{
"alipay":{}
}
}
}
}
}
使用 “微信 Open SDK for Android” 实现,使用前需到微信开放平台创建移动应用并在开发配置中正确配置Android应用
的包名和签名。
在uni-app x项目中使用此模块,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “安卓App配置” 的 “可选模块配置” -> “uni-payment(支付)” 中勾选 “微信支付”:
也可通过源码视图
在 "app-android" -> "distribute" -> "modules" -> "uni-payment" 下添加 "wxpay" 节点,如下示例:
{
"app-android": {
"distribute": {
"modules": {
"uni-payment":{
"wxpay":{}
}
}
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "modules" -> "uni-payment" 下添加 "wxpay" 节点,如下示例:
{
"app": {
"distribute": {
"modules": {
"uni-payment":{
"wxpay":{}
}
}
}
}
}
注意
uni-app x项目使用uni内置模块时,云端打包会自动添加模块、插件声明需要的Android权限,也可以额外添加或强制移除某些权限。
HBuilderX4.54以前的版本,需在项目的AndroidManifest.xml中手动编辑添加Android权限
HBuilderX4.54及以上版本,支持在项目的 manifest.json 中配置额外添加或强制移除Android权限
应用云端打包时,如果希望额外添加Android权限,需在manifest.json中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “安卓App配置” 的 “权限配置” -> “额外添加的权限” 中添加:
也可通过源码视图
在 "app-android" -> "distribute" 下添加 "permissions" 节点,如下示例配置应用额外添加 android.permission.REQUEST_INSTALL_PACKAGES 权限:
{
"app-android": {
"distribute": {
"permissions": [
"<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>"
]
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "android" 下添加 "permissions" 节点,如下示例配置应用额外添加 android.permission.REQUEST_INSTALL_PACKAGES 权限:
{
"app": {
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>"
]
}
}
}
}
注意
源码视图
设置时 android:name 字段值使用的双引号前面需要加转义斜线“\”应用云端打包时,如果希望不包含内置模块、插件声明需要的Android权限,可在manifest.json中配置需强制移除的权限:
HBuilderX 4.71 及以上版本
可视化界面操作在 “安卓App配置” 的 “权限配置” -> “强制移除的权限” 中添加:
也可通过源码视图
在 "app-android" -> "distribute" 下添加 "excludePermissions" 节点,如下示例配置应用强制移除 android.permission.READ_MEDIA_IMAGES、android.permission.READ_MEDIA_VIDEO 权限:
{
"app-android": {
"distribute": {
"excludePermissions": [
"<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\"/>",
"<uses-permission android:name=\"android.permission.READ_MEDIA_VIDEO\"/>"
]
}
}
}
HBuilderX 4.71 以下版本
需通过 manifest.json 的源码视图
在 "app" -> "distribute" -> "android" 下添加 "excludePermissions" 节点,如下示例配置应用强制移除 android.permission.READ_MEDIA_IMAGES、android.permission.READ_MEDIA_VIDEO 权限:
{
"app": {
"distribute": {
"android": {
"excludePermissions": [
"<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\"/>",
"<uses-permission android:name=\"android.permission.READ_MEDIA_VIDEO\"/>"
]
}
}
}
}
注意
源码视图
设置时 android:name 字段值使用的双引号前面需要加转义斜线“\”HBuilderX 4.71 及以上版本支持可视化配置 minSdkVersion
minSdkVersion用于指定应用兼容的最低Android版本(API等级),uni-app x 项目默认值为21(即最低支持Android5)。 如果APP某些功能无法支持低版本Android系统的设备,可以配置minSdkVersion确保APP只能安装到指定Android版本及以上的设备。
minSdkVersion值为Number类型,且必须为正整数,取值范围参考Android版本列表中的API等级。
App升级时 minSdkVersion 只能增加不能降低,也就是说 minSdkVersion 高的App无法被 minSdkVersion 低的App覆盖安装,开发者需要注意!
如需更改此值,可在项目 manifest.json 文件中配置:
HBuilderX 4.71 及以上版本
可视化界面操作在 “安卓App配置” 的 “miniSdkVersion” 中设置,如下示例配置 miniSdkVersion 值为 26(Android 8):
也可通过源码视图
在 "app-android" -> "distribute" 节点配置 miniSdkVersion
{
"app-android": {
"distribute": {
"minSdkVersion": 26
}
}
}
HBuilderX 4.71 以下版本
需通过源码视图
在 "app" -> "distribute" -> "android" 节点配置 minSdkVersion,如下示例:
{
"app": {
"distribute": {
"android": {
"minSdkVersion": 26
}
}
}
}
注意
HBuilderX 4.71 及以上版本支持可视化配置 targetSdkVersion
targetSdkVersion用于指定应用的目标Android版本(API等级),uni-app x 项目默认值为32(即Android12L)。
设置targetSdkVersion值表示App适配的Android版本(API等级),设置低版本的targetSdkVersion会使APP兼容模式运行,也就可能无法用到新系统的特性,甚至在兼容模式下运行可能存在安全漏洞等问题。 随着Android系统的升级,一些应用市场会要求设置较高的targetSdkVersion才可以提交,HBuilderX中可在项目的manifest.json中进行配置。
targetSdkVersion值为Number类型,且必须为正整数,取值范围参考Android版本列表中的API等级。
App升级时 targetSdkVersion 只能增加不能降低,也就是说 targetSdkVersion 高的App无法被 targetSdkVersion 低的App覆盖安装,开发者需要注意! Android 15 设备对 targetSdkVersion 版本有要求,低于24无法正常在android 15设备上正常安装,开发者需要注意!
如需更改此值,可在项目 manifest.json 文件中配置:
HBuilderX 4.71 及以上版本
打开项目的manifest.json文件,在 “安卓App配置” 的 “targetSdkVersion” 中设置,如下示例配置 targetSdkVersion 值为 35(Android 15):
也可通过源码视图
在 "app-android" -> "distribute" 节点配置 targetSdkVersion
{
"app-android": {
"distribute": {
"targetSdkVersion": 35
}
}
}
HBuilderX 4.71 以下版本
需通过源码视图
在 "app" -> "distribute" -> "android" 节点配置 targetSdkVersion,如下示例配置 targetSdkVersion 值为 35(Android 15):
{
"app": {
"distribute": {
"android": {
"targetSdkVersion": 35
}
}
}
}
注意
HBuilderX 4.71 及以上版本支持可视化配置 URL Schemes
HBuilderX 4.71 以下版本未提供 URL Schemes 配置,需在 app 原生应用配置文件中进行设置,详情参考:Android平台 URL Schemes 配置。
打开项目的manifest.json文件,在 “安卓App配置” 的 “URL Schemes” 中设置,如下示例配置 myapp 和 helloapp 两个值:
注意
标准基座可通过此网页体验 URL Scheme 启动 App:https://uniappx.dcloud.net.cn/scheme.html
HBuilderX 4.71 及以上版本支持可视化配置 abiFilters
Android平台配置CPU类型针对的是为了提高运行效率使用C/C++语言开发生成的so库,需要为各cpu类型平台单独编译生成对应指令的so库。Java语言开发的代码运行在虚拟机中,由虚拟机适配CPU类型,不涉及到此问题。
uni-app x 项目已适配支持以下主流CPU类型:
uni-app x 项目云端打包默认仅包含“arm64-v8a”,如需支持其它CPU类型,可在项目 manifest.json 文件中配置。
HBuilderX 4.71 及以上版本
打开项目的manifest.json文件,在 “安卓App配置” 的 “应用支持CPU类型(abiFilters)” 中设置:
也可通过源码视图
在 "app-android" -> "distribute" 节点配置 abiFilters,如下示例配置支持 armeabi-v7a、arm64-v8a、x86、x86_64 CPU类型:
{
"app-android": {
"distribute": {
"abiFilters": [
"armeabi-v7a",
"arm64-v8a",
"x86",
"x86_64"
]
}
}
}
HBuilderX 4.71 以下版本
需通过源码视图
在 "app" -> "distribute" -> "android" 节点配置 abiFilters,如下示例配置支持 armeabi-v7a、arm64-v8a、x86、x86_64 CPU类型:
{
"app": {
"distribute": {
"android": {
"abiFilters": [
"armeabi-v7a",
"arm64-v8a",
"x86",
"x86_64"
]
}
}
}
}
注意
HBuilder4.31版本新增支持
uni-app x 的渠道信息配置,云端需在“App打包”界面配置,详情参考配置渠道包。
离线打包时需在原生工程中配置,详情参考Android平台配置应用渠道包。
manifest.json中不提供配置 manifestPlaceholders
数据,如果应用使用的插件或三方SDK需要使用,可在项目的 nativeResources/android/manifestPlaceholders.json
文件中配置,详情参考Android原生应用清单文件和资源。
HBuilder4.33版本新增支持 enableResourceOptimizations 配置项
Android平台云端打包时原生工程 gradle.properties 的 android.enableResourceOptimizations 配置项,配置是否开启Android原生res资源文件优化,开启后res资源文件名称会被混淆,默认值为 ture,如不希望混淆原生res资源文件名称,可在项目 manifest.json 文件的源码视图
配置:
HBuilderX 4.71 及以上版本
需通过源码视图
在 "app-android" -> "distribute" -> "android" 节点配置 enableResourceOptimizations,如下示例:
{
"app-android": {
"distribute": {
"enableResourceOptimizations": false
}
}
}
HBuilderX 4.71 以下版本
需通过源码视图
在 "app" -> "distribute" -> "android" 节点配置 enableResourceOptimizations,如下示例:
{
"app": {
"distribute": {
"android": {
"enableResourceOptimizations": false
}
}
}
}
注意
HBuilder4.31版本新增支持
Android平台云端打包时原生工程应用 build.gradle 的 aaptOptions配置项,支持的属性参考:Android官方文档。
需在项目 manifest.json 文件的源码视图
配置:
HBuilderX 4.71 及以上版本
需通过源码视图
在 "app-android" -> "distribute" -> "android" 节点配置 aaptOptions,如下示例:
{
"app-android": {
"distribute": {
"aaptOptions": [
"noCompress 'png', 'jpg', 'jpeg'" //配置禁止对 png、jpg、jpeg格式的文件进行压缩
]
}
}
}
HBuilderX 4.71 以下版本
需通过源码视图
在 "app" -> "distribute" -> "android" 节点配置 aaptOptions,如下示例:
{
"app": {
"distribute": {
"android": {
"aaptOptions": [
"noCompress 'png', 'jpg', 'jpeg'" //配置禁止对 png、jpg、jpeg格式的文件进行压缩
]
}
}
}
}
注意
HBuilder4.31版本新增支持
Android平台云端打包时原生工程应用 build.gradle 的 buildFeatures 配置项,支持的属性参考:Android官方文档。
需在项目 manifest.json 文件的源码视图
配置:
HBuilderX 4.71 及以上版本
需通过源码视图
在 "app-android" -> "distribute" 节点配置 buildFeatures,如下示例:
{
"app-android": {
"distribute": {
"buildFeatures": [
"viewBinding true", //开启dataBinding
"dataBinding true" //开启viewBinding
]
}
}
}
HBuilderX 4.71 以下版本
需通过源码视图
在 "app" -> "distribute" -> "android" 节点配置 buildFeatures,如下示例:
{
"app": {
"distribute": {
"android": {
"buildFeatures": [
"viewBinding true", //开启dataBinding
"dataBinding true" //开启viewBinding
]
}
}
}
}
注意
Android平台云端打包时原生工程应用 build.gradle 的 packagingOptions 配置项,支持的属性参考:Android官方文档。
需在项目 manifest.json 文件的源码视图
配置:
HBuilderX 4.71 及以上版本
需通过源码视图
在 "app-android" -> "distribute" 节点配置 packagingOptions,如下示例:
{
"app-android": {
"distribute": {
"packagingOptions": [
"exclude 'META-INF/LICENSE'", //排除文件META-INF/LICENSE
"exclude 'META-INF/LICENSE.txt'" //排除文件META-INF/LICENSE.txt
]
}
}
}
HBuilderX 4.71 以下版本
需通过源码视图
在 "app" -> "distribute" -> "android" 节点配置 packagingOptions,如下示例:
{
"app": {
"distribute": {
"android": {
"packagingOptions": [
"exclude 'META-INF/LICENSE'", //排除文件META-INF/LICENSE
"exclude 'META-INF/LICENSE.txt'" //排除文件META-INF/LICENSE.txt
]
}
}
}
}
注意
API等级与Android版本对应列表如下:
API等级 | Android版本号 | Android版本名称 |
---|---|---|
36 | Android16 | Android W |
35 | Android15 | Android V, Vanilla Ice Cream |
34 | Android14 | Android U, Upside Down Cake |
33 | Android13 | Android T, Tiramisu |
32 | Android12L | Android Sv2 |
31 | Android12 | Android S, Snow Cone |
30 | Android11 | Android R, Red Velvet Cake |
29 | Android10 | Android Q, Quince Tart |
28 | Android9 | Android P, Pie |
27 | Android8.1 | Android O_MR1 |
26 | Android8.0 | Android O, Oreo |
25 | Android7.1 | Android N_MR1 |
24 | Android7.0 | Android N, Nougat |
23 | Android6.0 | Android M, Marshmallow |
22 | Android5.1 | Android L_MR1 |
21 | Android5.0 | Android L, Lollipop |
以上仅列出uni-app x支持的版本信息,完整API级别信息请参考Google官方文档Android API级别说明。