Observação: o Google Play filtra os aplicativos de acordo com os formatos de compactação de textura com suporte para garantir que eles só possam ser instalados em dispositivos que podem 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 informações importantes sobre como o Google Play usa elementos <supports-gl-texture> como base para filtragem, leia Google Play e a filtragem de compactação de textura, abaixo.

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 se puder oferecer recursos de textura que vão ser compactados nesse formato depois que o aplicativo for instalado em um dispositivo. O aplicativo pode fornecer os recursos compactados localmente, de dentro do .apk, ou fazer o download deles de um servidor durante a 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 oferecer suporte a vários formatos de compactação de textura, é possível declarar vários elementos <supports-gl-texture>. Exemplo:

<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> declarados são informativos, o que significa que o próprio sistema Android não examina os elementos no momento da instalação para garantir que o dispositivo tenha suporte. No entanto, outros serviços (como o Google Play) ou aplicativos podem verificar as declarações <supports-gl-texture> do aplicativo como parte do processamento ou da interação com o app. Por isso, é muito importante que você declare todos os formatos de compactação de textura (da lista abaixo) aos quais o aplicativo oferece suporte.

Aplicativos e dispositivos normalmente declaram os formatos de compactação de textura GL com suporte usando o mesmo conjunto de strings conhecidas, conforme listado abaixo. O conjunto de strings de formato pode aumentar com o tempo, conforme necessário. Além disso, 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 abaixo.
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 nos dispositivos 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 nos dispositivos 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 com a GPU PowerVR SGX530/540, como a série Motorola DROID, Samsung Galaxy S, Nexus S e Galaxy Tab, entre outros.
veja também:

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

O Google Play filtra os aplicativos que ficam visíveis aos usuários, para que eles possam ver e fazer o download apenas dos apps compatíveis com os 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 a compatibilidade de compactação de textura de um aplicativo com o dispositivo de um usuário, o Google Play compara:

  • Formatos de compactação de textura que tem suporte do aplicativo. Um aplicativo declara os formatos de compactação de textura com suporte em elementos <supports-gl-texture> no manifesto
    com…
  • Formatos de compactação de textura que tem 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 aplicativo .apk e à versão do aplicativo.

Quando um usuário pesquisa ou procura por 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 possa fazer o download dele. Caso contrário, 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 aplicar nenhuma filtragem com base no formato de compactação de textura GL.