<uses-native-library>

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 podem ser acessadas por padrão e 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 versões mais recentes. As bibliotecas só podem ser acessadas quando forem explicitamente solicitadas usando a tag <uses-native-library>.

Se o app for direcionado ao Android 11 (API de nível 30) ou versões anteriores, a tag <uses-native-library> não é necessá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. 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 essa biblioteca. O sistema não permite que o aplicativo seja instalado em um dispositivo que não tenha a biblioteca.
  • "false": o aplicativo usa a biblioteca se ela estiver presente, mas foi criado para funcionar sem ela, se necessário. O sistema permite que o aplicativo seja instalado, mesmo que a biblioteca não esteja disponível. Se usar "false", você será responsável por lidar com a ausência da biblioteca de maneira prática.

O padrão é "true".

introduzido no:
API de nível 31
confira também: