공급업체 API 수준

공급업체 API 수준은 공급업체 파티션입니다. 인터페이스는 양방향입니다. API를 설명하고 시스템 파티션 (해당 하드웨어는 시스템 파티션)에 추상화 계층 또는 HAL 인터페이스) 및 공급업체가 파티셔닝하는 API 하위 수준 네이티브 개발자 키트나 LLNDK 인터페이스).

공급업체 API 수준은 공급업체 소프트웨어 요구사항을 확인하는 데도 사용됩니다. 기능적 요구사항과 비기능적 요구사항의 집합체인 충족되어야 합니다.

이 페이지의 나머지 부분에서는 속성은 Android 버전에 따라 공급업체를 결정하는 데 사용됩니다. API 수준입니다.

공급업체 동결

Android는 공급업체가 특정 버전의 Android에서 공급업체 파티션을 고정할 수 있도록 합니다. 확인할 수 있습니다 세트 Android가 공급업체 파티션에서 기대하는 기능 중 공급업체 파티션과 연결된 공급업체 API 수준 런타임 시 동작은 파티션에서 실행 중인 소프트웨어의 파티션은 공급업체 파티션의 공급업체 API 수준입니다. 예를 들어 시스템 파티션은 시스템 파티션에서 지원하지 않는 경우 새로운 기능을 실행하지 않을 수 있음 공급업체 파티션의 API 수준입니다.

공급업체 동결은 Android 호환 기기.

공급업체 API 수준 확인 (Android 14-QPR3 이상)

Android 14-QPR3 이상의 경우 공급업체 API 수준은 다음과 같습니다. 별도로 출시되며 이는 SDK API 수준 및 공급업체의 API 수준이 동기화되지 않습니다.

Android의 경우 별도의 출시 일정 때문에 14-QPR3 이상은 공급업체 API 수준은 SDK API 수준에서 분리됩니다. 이러한 분리를 명확히 하기 위해 공급업체 API 수준의 형식은 YYYYMM (연도 및 월) 형식의 날짜입니다. SDK 수준은 정수입니다

Android 14-QPR3 이상에는 다음 시스템이 포함되어 있습니다. 공급업체 API 수준 (ro.vendor.api_level)과 관련된 속성:

시스템 속성 형식 설명 초기 설정
ro.board.api_level YYYYMM 칩셋의 소프트웨어가 지원하는 공급업체 API 수준입니다. 이 속성은 모든 칩셋에 설정됩니다. 이는 빌드 시스템에서 자동으로 설정합니다.
ro.board.first_api_level YYYYMM 칩셋의 소프트웨어가 처음 출시된 공급업체 API 수준입니다. 이 속성은 칩셋에만 적용되는 기능이며 SoC 칩셋이 공급업체 동결 요건을 충족하는 경우 SoC 공급업체에 의해 설정됩니다. 초기 설정 후에는 수정하면 안 됩니다. SoC 공급업체는 BOARD_SHIPPING_API_LEVEL를 사용하여 이 설정을 설정합니다.
ro.product.first_api_level 정수 기기가 처음 실행되는 SDK API 수준입니다. 이 속성은 OEM에서 설정하며 OS 업그레이드 후에도 업데이트되지 않습니다.
ro.vendor.api_level YYYYMM 기기 전체가 준수해야 하는 공급업체 API 수준입니다. 이 표 다음에 설명되어 있습니다.
ro.board.api_frozen 부울 ro.board.api_level가 나타내는 공급업체 API 수준이 완료되면 이 속성이 true로 설정됩니다. 이 속성을 설정하지 않으면 기본값은 false입니다.
ro.llndk.api_level YYYYMM 시스템 파티션의 현재 LLNDK가 제공하는 YYYYMM 형식의 공급업체 API 수준입니다. LLNDK는 이전 버전과 호환되므로 이 API 수준 이하의 공급업체 이미지는 이 시스템 이미지로 플래시될 수 있습니다. 이 속성은 시스템 파티션에 의해 설정됩니다.

ro.vendor.api_level 속성은 다음 두 가지 방법 중 하나로 파생됩니다.

  • 칩셋이 공급업체 동결 요건을 충족하는 경우:

    ro.vendor.api_level = min(
      ro.board.api_level,
      AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level))
    
  • 칩셋이 공급업체 동결 상태가 아닌 경우:

    ro.vendor.api_level =
      AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level)
    

AVendorSupport_getVendorApiLevelOf() 메서드는 상응하는 공급업체 API 수준을 SDK API 수준에서 가져옵니다. 예: AVendorSupport_getVendorApiLevelOf(35), 여기서 35는 2024년 메이저 Android 버전에서 202404를 반환 현재 공급업체 API 수준이 다음과 같을 때의 Android 14-QPR3 설정합니다.

공급업체 API 수준 확인 (Android 13)

공급업체 API 수준은 app-OS용 SDK API 수준을 따릅니다. 새 Android 플랫폼이 1년에 한 번씩 업데이트됩니다. 전송합니다.

Android 13에는 다음 시스템이 포함되어 있습니다. 공급업체 API 수준 (ro.vendor.api_level) 관련 속성:

시스템 속성 형식 설명 초기 설정
ro.board.first_api_level 정수 칩셋의 소프트웨어가 처음 출시된 공급업체 API 수준입니다. 이는 칩셋에만 해당하는 기능이며 SoC 공급업체나 OEM이 수정할 수 없습니다. 이 속성은 공급업체 동결에 해당하는 칩셋에만 설정됩니다. 값은 device.mk 파일에서 BOARD_SHIPPING_API_LEVEL를 설정하여 설정됩니다.
ro.board.api_level 정수 칩셋의 소프트웨어가 지원하는 공급업체 API 수준입니다. 이 속성은 공급업체 동결 요건을 충족하는 칩셋에만 설정됩니다. 이 속성은 모든 칩셋에 설정됩니다. 처음에는 이 속성의 값이 빌드 시스템에 의해 ro.board.first_api_level와 동일한 값으로 설정되지만, 공급업체 파티션이 업그레이드되면 업데이트할 수 있습니다.
ro.product.first_api_level 정수 기기가 처음 실행되는 SDK API 수준입니다. 이 속성은 OEM에서 설정하며 OS 업그레이드 후에도 업데이트되지 않습니다.
ro.vendor.api_level 정수 기기 전체가 준수해야 하는 공급업체 API 수준입니다. 이 표 다음에 설명되어 있습니다.
ro.vndk.version 정수 공급업체 파티션이 빌드되는 VNDK 버전입니다. 이 속성은 시스템 파티션에 의해 설정됩니다.
ro.vendor.build.version.sdk 정수 공급업체 파티션이 빌드된 소스 트리의 SDK API 수준입니다.
ro.vendor.build.version.release 정수 공급업체 파티션이 빌드된 소스 트리의 플랫폼 버전입니다.
ro.vendor.build.version.release_or_codename 정수 공급업체 파티션이 빌드된 소스 트리의 코드 이름입니다.

ro.vendor.api_level 속성은 자동으로 최솟값 ro.board.api_level (또는 ro.board.api_level가 정의되지 않은 경우 ro.board.first_api_level)로 설정됩니다. ro.product.first_api_level입니다.