uses-feature

Jang Seok Woo·2021년 6월 25일
0

실무

목록 보기
11/136

AndroidManifest.xml에 설정하는

<uses-feature />

와 같은 태그는,

앱에 대한 명세가 됩니다.

대표적인 기능으로는, 해당 앱이 무슨 기능을 사용하는지에 대해 미리 알려주어 앱스토어에서 설치 대상을 선별할수 있게 되는 것이죠.

예를들어

<uses-feature android:name="android.hardware.camera" />

이렇게 선언해두면,

해당 앱이 카메라를 사용하니 카메라가 없는 디바이스에 앱의 기능을 사용할수 없다고 표시해줄수 있습니다.

구글 스토어 같은 곳에서 해당 디바이스에 필요한 기능에 대해 알려주거나 필터링이 가능합니다.

만약 해당 기능이 없는대도 사용하려 하면 에러가 나겠죠?

고로 스토어에 올리는 어플리케이션의 경우에, 특별한 기능이 필요하다면 그에대한 처리를 해주거나 이를 선언해는 것이 에러를 방지할수 있습니다.

특별한 기능이라 하니, 대부분 이 태그는 권한을 요청하는

<uses-permission  />

태그와 함께 사용되는 경우가 많습니다.

  • 옵션

<uses-feature
android:name="string"
android:required=["true" | "false"]
android:glEsVersion="integer" />

위와 같은 옵션이 있습니다.

name의 경우에는 앱이 요구하는 기능의 이름을 넣으면 됩니다.

required의 경우에는, 스토어 필터링 기능이라 생각하면 됩니다.

true로 하면, 해당 기능이 없는 디바이스에 앱을 노출하는 것도 차단하는데,

이를 false로 두면, 받을 수 있습니다. 이 뜻은 해당 기능이 있는 것을 권장하지만, 내부적으로 없는 것에 대해 처리를 했다는 의미입니다.

glEsVersion는,

애플리케이션에 필요한 OpenGL ES 버전입니다. 상위 16비트는 주 번호를 나타내고, 하위 16비트는 부 번호를 나타냅니다. 예를 들어, OpenGL ES 버전 2.0을 지정하려면 해당 값을 "0x00020000"으로 설정하고 OpenGL ES 3.2를 지정하려면 해당 값을 "0x00030002"로 설정합니다.

애플리케이션은 매니페스트에 최대 한 개의 android:glEsVersion 특성을 지정해야 합니다. 두 개 이상을 지정한 경우 가장 높은 숫자 값을 갖는 android:glEsVersion이 사용되며 다른 값은 무시됩니다.

애플리케이션이 android:glEsVersion 특성을 지정하지 않은 경우 애플리케이션이 모든 Android 기기가 지원하는 OpenGL ES 1.0만 요구하는 것으로 가정합니다.

애플리케이션은 지정된 OpenGL ES 버전을 지원하는 플랫폼이 모든 하위 OpenGL ES 버전도 지원하는 것으로 가정할 수 있습니다. 따라서 OpenGL ES 1.0과 OpenGL ES 2.0이 모두 필요한 애플리케이션은 OpenGL ES 2.0을 요구한다고 지정해야 합니다.

몇몇 OpenGL ES 버전과 작업할 수 있는 애플리케이션은 필수적인 최하위 OpenGL ES만 지정해야 합니다.

(안드로이드 공홈 발췌)

출처 : https://wiserloner.tistory.com/1381

profile
https://github.com/jsw4215

0개의 댓글