- sintassi:
-
<uses-native-library android:name="string" android:required=["true" | "false"] />
- contenuto in:
-
<application>
- description:
-
Specifica una libreria nativa condivisa fornita dal fornitore a cui deve essere collegata l'applicazione. Questo elemento indica al sistema di rendere accessibile la libreria nativa per il pacchetto.
Le librerie NDK sono accessibili per impostazione predefinita e pertanto non richiedono il tag
<uses-native-library>
.Le librerie condivise native non NDK fornite da fornitori di silicio o produttori di dispositivi non sono accessibili per impostazione predefinita se l'app ha come target Android 12 (livello API 31) o versioni successive. Le librerie sono accessibili solo quando vengono richieste esplicitamente utilizzando il tag
<uses-native-library>
.Se l'app ha come target Android 11 (livello API 30) o versioni precedenti, il tag
<uses-native-library>
non è obbligatorio. In questo caso, qualsiasi libreria condivisa nativa è accessibile indipendentemente dal fatto che sia una libreria NDK.Questo elemento influisce anche sull'installazione dell'applicazione su un determinato dispositivo. Se questo elemento è presente e il relativo attributo
android:required
è impostato sutrue
, il frameworkPackageManager
non consente a un utente di installare l'applicazione a meno che la libreria non sia presente sul dispositivo dell'utente.L'attributo
android:required
è descritto in dettaglio nella sezione seguente. - attributi:
-
android:name
- Il nome del file della libreria.
android:required
-
Valore booleano che indica se l'applicazione richiede la
libreria specificata da
android:name
.-
"true"
: l'applicazione non funziona senza questa libreria. Il sistema non consente l'installazione dell'applicazione su un dispositivo che non dispone della libreria. -
"false"
: l'applicazione utilizza la libreria, se presente, ma è progettata per funzionare senza, se necessario. Il sistema consente l'installazione dell'applicazione, anche se la libreria non è presente. Se utilizzi"false"
, sei responsabile della gestione corretta dell'assenza della libreria.
Il valore predefinito è
"true"
. -
- introdotto in:
- Livello API 31
- Vedi anche:
<usa-libreria-nativa>
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-27 UTC."],[],[],null,["# <uses-native-library\u003e\n\nsyntax:\n:\n\n ```xml\n \u003cuses-native-library\n android:name=\"string\"\n android:required=[\"true\" | \"false\"] /\u003e\n ```\n\ncontained in:\n:\n `\n `[\u003capplication\u003e](/guide/topics/manifest/application-element)`\n `\n\ndescription:\n\n:\n Specifies a [vendor-provided shared native library](https://source.android.com/devices/tech/config/namespaces_libraries#adding-additional-native-libraries)\n that the application must be linked against. This element tells the system to make the native\n library accessible for the package.\n\n\n NDK libraries are by default accessible and therefore don't require the\n `\u003cuses-native-library\u003e` tag.\n\n\n Non-NDK native shared libraries that are provided by silicon vendors or device manufacturers\n aren't accessible by default if the app targets Android 12 (API level 31) or higher. The\n libraries are accessible only when they are explicitly requested using the\n `\u003cuses-native-library\u003e` tag.\n\n\n If the app targets Android 11 (API level 30) or lower, the\n `\u003cuses-native-library\u003e` tag isn't required. In that case, any native shared\n library is accessible regardless of whether it is an NDK library.\n\n\n This element also affects the installation of the application on a particular device. If this\n element is present and its `android:required` attribute is set to\n `true`, the\n [PackageManager](/reference/android/content/pm/PackageManager)\n framework won't let a user install the application unless the library is present on the\n user's device.\n\n\n The `android:required` attribute is described in detail in the following section.\n\nattributes:\n:\n\n `android:name`\n :\n The name of the library file.\n\n `android:required`\n :\n Boolean value that indicates whether the application requires the\n library specified by `android:name`.\n\n - `\"true\"`: the application doesn't function without this library. The system doesn't let the application install on a device that doesn't have the library.\n - `\"false\"`: the application uses the library if present, but is designed to function without it if necessary. The system lets the application install, even if the library isn't present. If you use `\"false\"`, you are responsible for gracefully handling the absence of the library.\n\n\n The default is `\"true\"`.\n\n\nintroduced in:\n: API level 31\n\nsee also:\n:\n - [PackageManager](/reference/android/content/pm/PackageManager)\n - [\u003cuses-library\u003e](/guide/topics/manifest/uses-library-element)\n [](/guide/topics/manifest/uses-library-element)\n\n [](/guide/topics/manifest/uses-library-element)\n[](/guide/topics/manifest/uses-library-element)"]]