sintaxe:
<uses-native-library
  android:name="string"
  android:required=["true" | "false"] />
contido em:
<application>
descrição:

Especifica uma biblioteca nativa compartilhada pelo fornecedor que precisa ser vinculada ao aplicativo. Esse elemento instrui o sistema a tornar a biblioteca nativa acessível ao pacote.

As bibliotecas do NDK são acessíveis por padrão e, portanto, não exigem a tag <uses-native-library>.

As Bibliotecas compartilhadas nativas que não são do NDK e são oferecidas por fornecedores de componentes eletrônicos ou de dispositivos não podem ser acessadas por padrão se o app for direcionado ao Android 12 (nível 31 da API) ou mais recente. As bibliotecas só podem ser acessadas quando forem explicitamente solicitadas usando a tag <uses-native-library>.

Se o app for direcionado ao Android 11 (nível 30 da API) ou a uma versão anterior, a tag <uses-native-library> não é obrigatória. Nesse caso, qualquer biblioteca compartilhada nativa pode ser acessada independente de ser uma biblioteca do NDK ou não.

Esse elemento também afeta a instalação do aplicativo em certos dispositivos:

Instalação
Se este elemento estiver presente e o atributo android:required estiver definido como true, o framework de PackageManager não vai permitir que o usuário instale o aplicativo, a menos que a biblioteca esteja presente no dispositivo do usuário.

O atributo android:required é descrito em detalhes na próxima seção.

atributos:
android:name
O nome do arquivo da biblioteca.
android:required
Valor booleano que indica se o aplicativo exige a biblioteca especificada por android:name:
  • "true": o aplicativo não funciona sem esta biblioteca. O sistema não vai permitir a instalação do aplicativo em um dispositivo que não tenha a biblioteca.
  • "false": o aplicativo pode usar a biblioteca, se presente, mas foi projetado para funcionar sem ela, se necessário. O sistema vai permitir que o aplicativo seja instalado, mesmo que a biblioteca não esteja presente. Se você usar "false", vai ser responsável por lidar com a ausência da biblioteca de maneira prática.

O padrão é "true".

introduzido em:
Nível 31 da API
veja também: