<supports-gl-texture>

Observação: o Google Play filtra os aplicativos de acordo com os formatos de compactação de textura com suporte para garantir que sejam instalados apenas em dispositivos que possam processar as texturas adequadamente. Você pode usar a filtragem de compactação de textura como uma forma de destinar o app a tipos de dispositivo específicos, com base na GPU da plataforma.

Para saber mais sobre como o Google Play usa elementos <supports-gl-texture> como base para filtragem, consulte a seção Google Play e a filtragem de compactação de textura.

Sintaxe:
<supports-gl-texture
  android:name="string" />
contido em:
<manifest>
descrição:
Declara um único formato de compactação de textura GL que tem suporte do app.

Um aplicativo "oferece suporte" a um formato de compactação de textura GL quando pode fornecer recursos de textura compactados nesse formato depois que o aplicativo é instalado em um dispositivo.

O aplicativo fornece os recursos compactados localmente, de dentro do APK, ou, então, pode fazer o download deles de um servidor no momento da execução.

Cada elemento <supports-gl-texture> declara exatamente um formato de compactação de textura com suporte, especificado como o valor de um atributo android:name. Se o aplicativo oferece suporte a vários formatos de compactação de textura, é possível declarar vários elementos <supports-gl-texture>:

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

Os elementos <supports-gl-texture> são informativos, o que significa que o sistema Android não examina os elementos no momento da instalação para garantir que o dispositivo tenha suporte a eles.

No entanto, outros serviços, por exemplo, o Google Play, ou aplicativos podem verificar as declarações <supports-gl-texture> como parte do processamento ou da interação com seu app. Por esse motivo, é muito importante declarar todos os formatos de compactação de textura da lista a seguir que seu aplicativo aceita.

Aplicativos e dispositivos normalmente declaram os formatos de compactação de textura GL com suporte usando o conjunto de strings conhecidas descrito a seguir. O conjunto de strings de formato pode aumentar com o tempo, conforme necessário. Como os valores são strings, os aplicativos podem declarar outros formatos, também de acordo com a necessidade.

Supondo que o aplicativo seja criado com o SDK Platform Tools r3 ou mais recente, a filtragem com base no elemento <supports-gl-texture> é ativada para todos os níveis da API.

Atributos:
android:name
Especifica um único formato de compactação de textura GL com suporte do aplicativo como uma string de descritor. Os valores de descritor comum são listados na tabela a seguir.
Descritor do formato de compactação de textura Comentários
GL_OES_compressed_ETC1_RGB8_texture Compactação de textura Ericsson. Especificada no OpenGL ES 2.0 e disponível em todos os dispositivos com tecnologia Android com suporte ao OpenGL ES 2.0.
GL_OES_compressed_paletted_texture Compactação de textura de paleta genérica.
GL_AMD_compressed_3DC_texture Compactação de textura ATI 3Dc.
GL_AMD_compressed_ATC_texture Compactação de textura ATI. Disponível em dispositivos com GPU Adreno, incluindo HTC Nexus One, Droid Incredible, EVO, entre outros. Para maior compatibilidade, os dispositivos também podem declarar um elemento <supports-gl-texture> usando o descritor GL_ATI_texture_compression_atitc.
GL_EXT_texture_compression_latc Compactação de textura Alfa de luminância.
GL_EXT_texture_compression_dxt1 Compactação de textura S3 DXT1. Tem suporte em dispositivos executados com a plataforma Nvidia Tegra2, incluindo Motorola Xoom, Motorola Atrix, Droid Bionic, entre outros.
GL_EXT_texture_compression_s3tc Compactação de textura S3, não específica para a variante DXT. Tem suporte em dispositivos executados com a plataforma Nvidia Tegra2, incluindo Motorola Xoom, Motorola Atrix, Droid Bionic, entre outros. Se o aplicativo exigir uma variante específica do DXT, declare o descritor em questão em vez deste.
GL_IMG_texture_compression_pvrtc Compactação de textura do PowerVR. Disponível em dispositivos executados com a GPU PowerVR SGX530/540, como a série Motorola DROID, Samsung Galaxy S, Nexus S e Galaxy Tab, entre outros.
Confira também:

Google Play e a filtragem de compactação de textura

O Google Play filtra os aplicativos que ficam visíveis para os usuários de modo que eles possam visualizar e fazer o download apenas dos apps que têm suporte dos dispositivos deles. Uma das maneiras de filtrar aplicativos é pela compatibilidade de compactação de textura, o que permite controlar a disponibilidade do aplicativo em vários dispositivos com base nos recursos das GPUs.

Para determinar o suporte de um determinado aplicativo com a compactação de textura, o Google Play compara:

  • formatos de compactação de textura que têm suporte do aplicativo, conforme declarado nos elementos <supports-gl-texture> no manifesto;
  • formatos de compactação de textura que têm suporte da GPU no dispositivo. Um dispositivo informa os formatos com suporte como propriedades de sistema somente leitura.

Cada vez que você faz upload de um aplicativo para o Google Play Console, o Google Play verifica o arquivo de manifesto do aplicativo e procura elementos <supports-gl-texture>. Ele extrai os descritores de formato dos elementos e os armazena internamente como metadados associados ao APK e à versão do aplicativo.

Quando um usuário pesquisa ou procura aplicativos no Google Play, o serviço compara os formatos de compactação de textura com suporte do aplicativo com aqueles que têm suporte do dispositivo do usuário. A comparação é baseada nas strings do descritor de formato, e as correspondências precisam ser exatas.

Se qualquer um dos formatos de compactação de textura com suporte de um aplicativo também tiver suporte do dispositivo, o Google Play vai permitir que o usuário veja o aplicativo e faça o download dele. Se nenhum dos formatos do aplicativo tiver suporte do dispositivo, o Google Play vai filtrar o aplicativo para que ele não fique disponível para download.

Se um aplicativo não declarar nenhum elemento <supports-gl-texture>, o Google Play não vai ativar nenhuma filtragem com base no formato de compactação de textura GL.