Android
AndroidManifest <uses-feature> 란?
by chan-na
2024. 9. 30.
AndroidManifest <uses-feature> 란?
- application에서 필요로 하는 hardware 또는 software feature를 선언한다
- Google Play에서 정보를 바탕으로 각 기기의 기능에 맞는 앱만 노출되도록 필터링을 한다
- 예를들어 Camera가 필수 기능으로 선언되어 있다면, Camera가 존재하는 기기에서만 앱이 노출된다
- 일부 Permission은 특정 feature가 필요함을 암시하기 때문에, Permission이 선언되었을때 암시적으로 선언이 추가되는 경우가 있다.
- 자세한 Permission:Feature mapping은 link 참고
- Permission에 의해 암시적으로 추가되는 feature가 필수는 아닌경우, 의
android:required
attribute를 "false"로 설정할 것.
Syntax
<uses-feature
android:name="string"
android:required=["true" | "false"]
android:glEsVersion="integer" />
android:name
- hardware 또는 software feature의 이름
android:required
- 해당 기능이 필수인지 여부를 나타냄
- 기본값은 "true"
- "true"로 설정되면 그 기능이 없으면 앱이 실행될수 없다는 뜻이므로 Google play에서 앱을 필터링할때 사용됨.
- 반면 "false"로 설정되면 기능을 선택적으로 사용하는 앱이라는 뜻이므로 Google play에서 앱을 필터링할때 사용되지 않음.
android:glEsVersion
- application에서 필요로 하는 OpenGL ES 버전
- 상위 16비트는 메이저 버전, 하위 16비트는 마이너 버전을 나타냄
- ex) OpenGL ES 3.2는
0x00030002
로 나타냄
- 이 속성이 Manifest에 여러번 사용된다면 가장 높은값이 사용됨
- OpenGL ES는 하위 호환성을 지원하므로 지정된 버전보다 낮은 버전들은 모두 지원된다고 볼 수 있음
- 이 속성이 지정되어있지 않으면 OpenGL ES 1.0만 필요한것으로 간주됨
- 어플리케이션이 작동 가능한 최소 OpenGL ES 버전을 명시하고, 더 높은 버전을 사용하기 위해서는 런타임에 지원 여부를 확인할 것
Reference