sintaxis:
<uses-native-library
  android:name="string"
  android:required=["true" | "false"] />
se incluye en:
<application>
descripción:

Especifica una biblioteca nativa compartida por el proveedor con la que se debe vincular la aplicación. Este elemento le indica al sistema que haga que la biblioteca nativa sea accesible para el paquete.

Se puede acceder a las bibliotecas del NDK de forma predeterminada y, por lo tanto, no requieren la etiqueta <uses-native-library>.

Según la configuración predeterminada, no se puede acceder a las bibliotecas nativas compartidas que no pertenecen al NDK que proporcionan proveedores de silicio o fabricantes de dispositivos si la app se orienta a Android 12 (nivel de API 31) o versiones posteriores. Solo se puede acceder a las bibliotecas cuando se solicitan de manera explícita con la etiqueta <uses-native-library>.

Si la app se orienta a Android 11 (nivel de API 30) o versiones anteriores, no se requiere la etiqueta <uses-native-library>. En ese caso, se puede acceder a cualquier biblioteca nativa compartida, independientemente de si es una biblioteca de NDK.

Este elemento también afecta la instalación de la aplicación en un dispositivo en particular:

Instalación
Si este elemento está presente y su atributo android:required está configurado como true, el framework PackageManager no permitirá que el usuario instale la aplicación a menos que la biblioteca esté presente en su dispositivo.

En la siguiente sección, se describe en detalle el atributo android:required.

atributos:
android:name
Corresponde al nombre del archivo de biblioteca.
android:required
Es un valor booleano que indica si la aplicación requiere la biblioteca especificada por android:name:
  • "true": La aplicación no funciona sin esta biblioteca. El sistema no permitirá la aplicación en un dispositivo que no tenga la biblioteca.
  • "false": La aplicación puede usar la biblioteca si está presente, pero se diseñó para funcionar sin ella si es necesario. El sistema permitirá que se instale la aplicación, incluso si la biblioteca no está presente. Si usas "false", eres responsable de controlar correctamente la ausencia de la biblioteca.

El valor predeterminado es "true".

primera inclusión:
Nivel de API 31
consulta también: