문법
<uses-native-library
  android:name="string"
  android:required=["true" | "false"] />
포함된 요소
<application>
설명

애플리케이션을 연결해야 하는 공급업체 제공 공유 네이티브 라이브러리를 지정합니다. 이 요소는 패키지에서 네이티브 라이브러리에 액세스할 수 있도록 시스템에 지시합니다.

NDK 라이브러리는 기본적으로 액세스할 수 있으므로 <uses-native-library> 태그가 필요하지 않습니다.

실리콘 공급업체나 기기 제조업체에서 제공한 비 NDK 네이티브 공유 라이브러리에는 앱이 Android 12(API 수준 31) 이상을 타겟팅하면 기본적으로 액세스할 수 없습니다. <uses-native-library> 태그를 사용하여 명시적으로 요청된 때만 라이브러리에 액세스할 수 있습니다.

앱이 Android 11(API 수준 30) 이하를 타겟팅한다면 <uses-native-library> 태그가 필요하지 않습니다. 이 경우 NDK 라이브러리인지와 상관없이 모든 네이티브 공유 라이브러리에 액세스할 수 있습니다.

이 요소는 특정 기기에 애플리케이션을 설치하는 데도 영향을 미칩니다.

설치
이 요소가 있고 요소의 android:required 속성이 true로 설정되어 있는 경우 사용자의 기기에 라이브러리가 없다면 PackageManager 프레임워크는 사용자가 애플리케이션을 설치하지 못하게 합니다.

android:required 속성은 다음 섹션에서 자세히 설명합니다.

속성
android:name
라이브러리 파일 이름입니다.
android:required
애플리케이션에 android:name에서 지정한 라이브러리가 필요한지 여부를 나타내는 부울 값입니다.
  • "true": 이 라이브러리가 없으면 애플리케이션이 작동하지 않습니다. 시스템에서 라이브러리가 없는 기기에 애플리케이션을 허용하지 않습니다.
  • "false": 라이브러리가 있으면 애플리케이션에서 라이브러리를 사용할 수 있지만 필요한 경우 라이브러리가 없어도 작동하도록 설계되었습니다. 라이브러리가 없어도 시스템에서 애플리케이션을 설치하도록 허용합니다. "false"를 사용하면 라이브러리의 부재를 적절하게 처리해야 합니다.

기본값은 "true"입니다.

도입 시기
API 수준 31
참고 항목