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,确保在模拟器正常运行
相关推荐
手机不死我是天子2 小时前
《Android 核心组件深度系列 · 第 2 篇 Service》
android
前行的小黑炭2 小时前
Compose页面切换的几种方式:Navigation、NavigationBar+HorizontalPager,会导致LaunchedEffect执行?
android·kotlin·app
前行的小黑炭3 小时前
Android :Comnpose各种副作用的使用
android·kotlin·app
BD_Marathon16 小时前
【MySQL】函数
android·数据库·mysql
LoveEate16 小时前
uniapp 运行/发版微信小程序
微信小程序·小程序·uni-app
西西学代码17 小时前
安卓开发---耳机的按键设置的UI实例
android·ui
maki07721 小时前
虚幻版Pico大空间VR入门教程 05 —— 原点坐标和项目优化技巧整理
android·游戏引擎·vr·虚幻·pico·htc vive·大空间
千里马学框架1 天前
音频焦点学习之AudioFocusRequest.Builder类剖析
android·面试·智能手机·车载系统·音视频·安卓framework开发·audio
fundroid1 天前
掌握 Compose 性能优化三步法
android·android jetpack
TeleostNaCl1 天前
如何在 IDEA 中使用 Proguard 自动混淆 Gradle 编译的Java 项目
android·java·经验分享·kotlin·gradle·intellij-idea