HarmonyOS鸿蒙Next中APP的compatibleSdkVersion和targetSdkVersion设置多少

HarmonyOS鸿蒙Next中APP的compatibleSdkVersion和targetSdkVersion设置多少 新创建的鸿蒙应用,只想在纯血鸿蒙系统中适配,compatibleSdkVersion应该设置为多少12还是17, 哪个版本开始是纯血鸿蒙

5 回复

你好,下表中介绍了compatibleSdkVersion、targetSdkVersion、compileSdkVersion的定义。

HarmonyOS Next 从 API 12 开始,

"compatibleSdkVersion": "5.0.0(12)"

根据应用升级targetSDKVersion兼容低版本指导,推荐开发者适配最新发布的API版本,即推荐开发者配置targetSDKVersion和CompileSdkVersion一样,享受到最新版本特性。

"targetSdkVersion": "6.0.1(21)",

| compatibleSdkVersion | 标识应用/元服务运行所需兼容的最低SDK版本,应用/元服务不能安装在低于该版本的设备。当前支持的版本参考所有HarmonyOS版本。相关字段与应用兼容性关系参见应用兼容性说明

  • 运行环境是HarmonyOS时,字段类型是字符串,配置示例:“compatibleSdkVersion”: “6.0.1(21)”。
  • 运行环境是OpenHarmony时,字段类型是数值,配置示例:“compatibleSdkVersion”: 21。

说明
构建APP包时,打包工具会对HSP和HAP的compatibleSdkVersion字段进行校验,满足条件的才能打包,具体请参考打包工具。 | | targetSdkVersion | 标识应用/元服务运行所需目标SDK版本,是系统提供的前向兼容手段。如果新SDK版本中API行为发生变更,将应用/元服务安装到新系统后,可通过该字段提供向前兼容手段,在新系统版本保持老的API行为。
如未配置,默认与compileSdkVersion保持一致。当前支持的版本参考所有HarmonyOS版本。相关标签与应用兼容性关系参见应用兼容性说明
  • 运行环境是HarmonyOS时,字段类型是字符串,配置示例:“targetSdkVersion”: “6.0.1(21)”。
  • 运行环境是OpenHarmony时,字段类型是数值,配置示例:“targetSdkVersion”: 21。

说明
  • 建议配置该字段。
  • 构建APP包时,打包工具会对HSP和HAP的targetSdkVersion字段进行校验,满足条件的才能打包,具体请参考打包工具
| | compileSdkVersion | 标识编译应用/元服务所使用的SDK版本。当前支持的版本参考所有HarmonyOS版本。相关标签与应用兼容性关系参见应用兼容性说明
  • 运行环境是HarmonyOS时,字段类型是字符串,配置示例:“compileSdkVersion”: “6.0.1(21)”。
  • 运行环境是OpenHarmony时,字段类型是数值,配置示例:“compileSdkVersion”: 21。

说明
  • 运行环境是HarmonyOS时,该字段不需要显性配置,编译时默认使用DevEco Studio内置的SDK版本。如果配置,只能配置为当前DevEco Studio配套的SDK版本,不允许配置为其他SDK版本。
  • 运行环境是OpenHarmony时,必须配置该字段。
|

更多关于HarmonyOS鸿蒙Next中APP的compatibleSdkVersion和targetSdkVersion设置多少的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


纯血鸿蒙是从12开始的。也就是HarmonyOS5.0

cke_403.png

12开始时纯血鸿蒙的。
参考官方数据,建议新的应用从17开始。因为17版本是目前占比最多的,17以下基本没啥了。
这个是官方数据:附:存量设备API版本使用数量参考-应用开发中的兼容性场景开发指导-应用兼容性说明-版本说明 - 华为HarmonyOS开发者 (huawei.com)
cke_2165.png

在HarmonyOS Next中,compatibleSdkVersion应设置为应用能兼容的最低API版本,targetSdkVersion应设置为应用已适配并测试的最新API版本。具体数值需根据你使用的DevEco Studio版本及对应的HarmonyOS SDK版本来确定。例如,若使用SDK API 12进行开发,targetSdkVersion可设置为12,compatibleSdkVersion则根据你希望支持的最低版本设置,如9。

对于纯血鸿蒙(HarmonyOS Next)应用开发,compatibleSdkVersion 和 targetSdkVersion 应设置为 API Version 12 或更高版本。

具体说明如下:

  1. 关键版本节点:HarmonyOS Next 的起始 API Version 是 12。从该版本开始,系统不再兼容安卓AOSP代码,是真正的“纯血”鸿蒙。

  2. 配置建议

    • compatibleSdkVersion(最低兼容版本):设置为 12。这表示你的应用仅支持 HarmonyOS Next 及以上系统,确保了应用的“纯血”属性。
    • targetSdkVersion(目标适配版本):应设置为当前开发所基于的最新发布的API版本(例如目前最新的 17)。这代表应用已针对该版本的系统特性和行为进行过充分优化和测试,能获得最佳兼容性和性能体验。
  3. 总结

    • 若你的应用仅面向 HarmonyOS Next,两个值都应至少设置为 12
    • 最佳实践是将 targetSdkVersion 设为当前可用的最高版本(如17),compatibleSdkVersion 设为12。这能确保应用充分利用新特性,同时明确其系统依赖。

因此,在项目的 module.json5 文件中,配置示例如下:

{
  "app": {
    "bundleName": "com.example.myapp",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0.0",
    "apiReleaseType": "Release",
    "compatibleSdkVersion": 12, // 最低兼容纯血鸿蒙
    "targetSdkVersion": 17 // 目标适配当前最新版本
  }
}
回到顶部