<supports-gl-texture>

참고: Google Play는 지원하는 텍스처 압축 형식에 따라 애플리케이션을 필터링하여 텍스처를 제대로 처리할 수 있는 기기에만 애플리케이션이 설치되도록 합니다. 개발자는 GPU 플랫폼을 기반으로 특정 기기 유형을 타겟팅하는 방법으로 텍스처 압축 필터링을 사용할 수 있습니다.

Google Play에서 <supports-gl-texture> 요소를 필터링 기반으로 사용하는 방법에 관해 중요 내용을 알아보려면 아래의 Google Play 및 텍스처 압축 필터링 섹션을 읽어보세요.

문법:
<supports-gl-texture
  android:name="string" />
포함된 위치:
<manifest>
설명
앱에서 지원하는 단일 GL 텍스처 압축 형식을 선언합니다.

애플리케이션이 기기에 설치되면 GL 형식으로 압축된 텍스처 애셋을 제공할 수 있는 경우 GL 텍스처 압축 형식을 '지원'합니다.

애플리케이션은 압축된 애셋을 APK 내부에서 로컬로 제공하거나 런타임에 서버에서 다운로드할 수 있습니다.

<supports-gl-texture> 요소는 지원되는 텍스처 압축 형식을 android:name 속성 값으로 지정해 정확히 1개씩 선언합니다. 애플리케이션이 여러 텍스처 압축 형식을 지원하는 경우 <supports-gl-texture> 요소를 여러 개 선언할 수 있습니다. 예를 들면 다음과 같습니다.

<supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" />
<supports-gl-texture android:name="GL_OES_compressed_paletted_texture" />

<supports-gl-texture> 요소는 정보를 제공합니다. 다시 말해, Android 시스템 자체는 설치 시 기기에서 일치 지원을 확인하기 위해 요소를 검토하지 않습니다.

하지만 Google Play와 같은 다른 서비스나 애플리케이션에서는 애플리케이션의 처리나 상호작용 과정에서 애플리케이션의 <supports-gl-texture> 선언을 확인할 수 있습니다. 따라서 애플리케이션이 지원하는 모든 텍스처 압축 형식(아래 목록 참고)을 선언하는 것이 매우 중요합니다.

애플리케이션과 기기는 아래와 같은 잘 알려진 문자열 집합을 사용하여 지원되는 GL 텍스처 압축 형식을 선언합니다. 형식 문자열 집합은 시간이 지나면서 필요에 따라 증가할 수 있으며, 값이 문자열이므로 애플리케이션은 필요에 따라 다른 형식을 자유롭게 선언할 수 있습니다.

SDK 플랫폼 도구 r3 이상을 사용하여 애플리케이션을 빌드한 경우 모든 API 수준에서 <supports-gl-texture> 요소 기반의 필터링이 활성화됩니다.

속성:
android:name
애플리케이션에서 지원하는 단일 GL 텍스처 압축 형식을 설명어 문자열로 지정합니다. 아래 표에는 일반적인 설명어 값이 나와 있습니다.
텍스처 압축 형식 설명어 비고
GL_OES_compressed_ETC1_RGB8_texture Ericsson 텍스처 압축입니다. OpenGL ES 2.0에서 지정되며 OpenGL ES 2.0을 지원하는 모든 Android 구동 기기에서 사용할 수 있습니다.
GL_OES_compressed_paletted_texture 팔레트화된 일반 텍스처 압축입니다.
GL_AMD_compressed_3DC_texture ATI 3Dc 텍스처 압축입니다.
GL_AMD_compressed_ATC_texture ATI 텍스처 압축입니다. HTC Nexus One, Droid Incredible, EVO 등을 포함하여 Adreno GPU를 실행하는 기기에서 사용할 수 있습니다. 가장 폭넓은 호환성을 위해 기기는 설명어 GL_ATI_texture_compression_atitc를 사용하여 <supports-gl-texture> 요소를 선언할 수도 있습니다.
GL_EXT_texture_compression_latc 휘도 알파 텍스처 압축입니다.
GL_EXT_texture_compression_dxt1 S3 DXT1 텍스처 압축입니다. Motorola Xoom, Motorola Atrix, Droid Bionic 등을 포함하여 Nvidia Tegra2 플랫폼을 실행하는 기기에서 지원됩니다.
GL_EXT_texture_compression_s3tc S3 텍스처 압축으로, DXT 변형에 특정하지 않습니다. Motorola Xoom, Motorola Atrix, Droid Bionic 등을 포함하여 Nvidia Tegra2 플랫폼을 실행하는 기기에서 지원됩니다. 애플리케이션에 특정 DXT 변형이 필요한 경우에는 대신 특정 변형의 설명어를 선언합니다.
GL_IMG_texture_compression_pvrtc PowerVR 텍스처 압축입니다. Motorola DROID 시리즈, Samsung Galaxy S, Nexus S, Galaxy Tab 등과 같이 PowerVR SGX530/540 GPU를 실행하는 기기에서 사용할 수 있습니다.
참고 항목:

Google Play 및 텍스처 압축 필터링

Google Play는 사용자가 기기와 호환되는 애플리케이션만 보고 다운로드할 수 있도록 사용자에게 표시되는 애플리케이션을 필터링합니다. 애플리케이션을 필터링하는 방법 중 하나는 텍스처 압축 호환성을 기준으로 하는 것으로, 개발자는 다양한 기기를 대상으로 GPU의 기능에 따라 애플리케이션 제공 여부를 제어할 수 있습니다.

Google Play는 특정 사용자 기기에서 애플리케이션의 텍스처 압축 호환성을 판단하기 위해 다음 두 가지 사항을 비교합니다.

  • 애플리케이션에서 지원되는 텍스처 압축 형식(매니페스트의 <supports-gl-texture> 요소에서 선언됨)
  • 기기의 GPU에서 지원되는 텍스처 압축 형식입니다. 기기는 지원하는 형식을 읽기 전용 시스템 속성으로 보고합니다.

Google Play Console에 애플리케이션을 업로드할 때마다 Google Play에서는 애플리케이션의 매니페스트 파일을 스캔하여 <supports-gl-texture> 요소를 찾습니다. 요소에서 형식 설명어를 추출하여 애플리케이션 APK 및 애플리케이션 버전과 관련된 메타데이터로 내부적으로 저장합니다.

사용자가 Google Play에서 애플리케이션을 검색하거나 탐색하면 Google Play에서는 애플리케이션에서 지원되는 텍스처 압축 형식과 사용자 기기에서 지원되는 텍스처 압축 형식을 비교합니다. 비교는 형식 설명어 문자열을 기반으로 하며 정확히 일치해야 합니다.

애플리케이션에서 지원되는 텍스처 압축 형식 중 하나가 기기에서도 지원되는 경우 Google Play는 보고 다운로드할 수 있도록 사용자에게 애플리케이션을 표시합니다. 애플리케이션의 형식이 기기에서 지원되지 않는 경우에는 Google Play에서 애플리케이션을 다운로드할 수 없게 필터링합니다.

애플리케이션에서 <supports-gl-texture> 요소가 선언되지 않았다면 Google Play는 GL 텍스처 압축 형식을 기반으로 필터링을 적용하지 않습니다.