uni-app x生成的安卓包,安装时,提示不兼容。解决方案

找到 manifest.json

进入:源码视图

代码

javascript 复制代码
{
    "name" : "xxx康养",
    "appid" : "__xxx6",
    "description" : "xxx康养",
    "versionName" : "1.0.12",
    "versionCode" : 100012,
    "uni-app-x" : {},
    /* 快应用特有相关 */
    "quickapp" : {},
    /* 小程序特有相关 */
    "mp-weixin" : {
        "appid" : "",
        "setting" : {
            "urlCheck" : false
        },
        "usingComponents" : true
    },
    "mp-alipay" : {
        "usingComponents" : true
    },
    "mp-baidu" : {
        "usingComponents" : true
    },
    "mp-toutiao" : {
        "usingComponents" : true
    },
    "uniStatistics" : {
        "enable" : false
    },
    "vueVersion" : "3",
    "app" : {
        "distribute" : {
            "android" : {
                "packagename" : "xxxxxTVX",
                "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
                "minSdkVersion" : "21",
                "targetSdkVersion" : "32"
            },
            "icons" : {
                "android" : {
                    "hdpi" : "static/qxky_APP_Icon/72x72.png",
                    "xhdpi" : "static/qxky_APP_Icon/96x96.png",
                    "xxhdpi" : "static/qxky_APP_Icon/144x144.png",
                    "xxxhdpi" : "static/qxky_APP_Icon/192x192.png"
                }
            }
        }
    }
}

关键代码

javascript 复制代码
 "android" : {
                "packagename" : "xxxxxTVX",
                "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
                "minSdkVersion" : "21",
                "targetSdkVersion" : "32"
            },

packagename:包名;最好是和你"发行"(打包)时的包名一致。

abiFilters:需要兼容CPU的类型

minSdkVersion:应用兼容的最低Android版本(API等级)

targetSdkVersion:应用适配的目标Android版本(API等级)

android配置

官方说明:manifest.json | uni-app官网

App-Android端发布配置

属性 类型 默认值 描述
minSdkVersion integer 21 应用兼容的最低Android版本(API等级);参考文档
targetSdkVersion integer 30 应用适配的目标Android版本(API等级),部分应用市场要求设置较高的targetSdkVersion才能提交审核;参考文档
abiFilters Array<'armeabi-v7a' | 'arm64-v8a' | 'x86' | 'x86_64'> ["arm64-v8a"] 参考文档

注意

  • abiFilters 用于指定应用需要支持的CPU类型,字符串数组类型,字符串可取值"armeabi-v7a"、"arm64-v8a"、"x86"、"x86_64",默认值为["arm64-v8a"]。
  • minSdkVersion 用于指定应用运行所需最低 API 级别的整数。如果系统的 API 级别低于该属性中指定的值,Android 系统将阻止用户安装应用。
  • targetSdkVersion 一个用于指定应用的目标 API 级别的整数。如果未设置,其默认值与为 minSdkVersion 指定的值相等。该值用于通知系统,您已针对目标版本进行了测试,并且系统不应通过启用任何兼容性行为,以保持您的应用与目标版本的向前兼容性。
  • minSdkVersiontargetSdkVersion 设置的值是 API 级别(API Level),完整API级别信息请参考Android API级别说明

Android版本列表

API等级与Android版本对应列表如下:

API等级 Android版本号 Android版本名称
19 Android4.4 Kitkat
20 Android4.4W Kitkat Watch
21 Android5.0 Lollipop
22 Android5.1 Lollipop
23 Android6.0 Marshmallow
24 Android7.0 Nougat
25 Android7.1 Nougat
26 Android8.0 Oreo
27 Android8.1 Oreo
28 Android9.0 Pie
29 Android10.0 Android Q
30 Android11.0 Android R
31 Android12.0 Android S

IOS配置

属性 类型 默认值 描述
appid string - iOS Bundle ID

示例

javascript 复制代码
{
    "name" : "uni-app x",
    "appid" : "__UNI__XXXXXXX",
    "description" : "描述信息",
    "versionName" : "1.0.0",
    "versionCode" : "100",
    "uni-app-x":{
      "flex-direction": "column"
    },
    "vueVersion" : "3",
	"app": {
		"distribute": {
			"syncDebug": true,
			"android": {
				"packagename": "Android包名",
				"abiFilters": [
					"armeabi-v7a","arm64-v8a"
				],
				"minSdkVersion": "21",
				"targetSdkVersion": "32"
			},
			"ios": {
				"appid": "iOS Bundle ID"
			}
		}
	}
}

CPU类型

HBulderX已适配支持以下主流CPU类型:

  • armeabi-v7a 第7代及以上的ARM处理器(ARM32位),市面上大多数手机使用此CPU类型。
  • arm64-v8a 第8代、64位ARM处理器(ARM64位),最近两年新发的设备使用此CPU类型,可以兼容使用armeabi-v7a的so库。
  • x86 少部分平板使用x86,AS模拟器中选了intel x86时使用x86处理器,以及其它常用三方模拟器通常使用x86

注意:不勾选x86在模拟器上可能无法正常运行,以下是常见模拟器是否需要包含x86的情况

  • 雷电模拟器: 3.x必须包含x86,否则无法正常运行;4.x无需包含x86。
  • 夜神模拟器: 必须包含x86,否则无法正常运行
  • MuMu模拟器: 无需包含x86
  • 逍遥模拟器: 无需包含x86
  • BlueStacks(蓝叠模拟器): 无需包含x86
  • 腾讯模拟器(手游助手): 必须包含x86,否则无法正常运行
  • 其它模拟器: 未测试验证,建议包含x86,确保在模拟器正常运行
相关推荐
Digitally13 分钟前
如何将照片从安卓手机传输到电脑?
android·智能手机·电脑
打工人你好14 分钟前
Android 应用逆向分析与架构研究笔记
android·笔记·架构
q***547522 分钟前
【MySQL】表的相关操作
android·mysql·adb
g***557525 分钟前
【mysql部署】在ubuntu22.04上安装和配置mysql教程
android·mysql·adb
花花鱼29 分钟前
android studio引用三方库的方法,比如SmartRefreshLayout
android·ide·android studio
苦逼的搬砖工1 小时前
BLE 通信设计与架构落地
android·flutter
e***0961 小时前
【MySQL】MySQL库的操作
android·数据库·mysql
qq_589568102 小时前
android通过SharedPreferences保存共享数据之后,怎么打开设备文件查看保存的数据,并取出保存的数据
android
4***V2022 小时前
MySQL查询执行计划
android·mysql·adb
在狂风暴雨中奔跑2 小时前
Android 16KB Page Size 适配实战流程:以重编译FFmpeg so库为例
android