- sintaksis:
-
<uses-native-library android:name="string" android:required=["true" | "false"] />
- terdapat dalam:
-
<application>
- deskripsi:
-
Menentukan library native bersama yang disediakan vendor yang harus ditautkan ke aplikasi. Elemen ini akan memberi tahu sistem agar library native dapat diakses oleh paket tersebut.
Secara default, library NDK dapat diakses dan juga tidak memerlukan tag
<uses-native-library>
.Library bersama native non-NDK yang disediakan oleh vendor silicon atau produsen perangkat tidak dapat diakses secara default jika aplikasi menargetkan Android 12 (API level 31) atau versi lebih baru. Library hanya dapat diakses jika diminta secara eksplisit menggunakan tag
<uses-native-library>
.Jika aplikasi menargetkan Android 11 (API level 30) atau versi lama, tag
<uses-native-library>
tidak diperlukan. Dalam hal ini, semua library bersama native dapat diakses terlepas dari apakah library tersebut merupakan library NDK atau bukan.Elemen ini juga memengaruhi penginstalan aplikasi pada perangkat tertentu. Jika elemen ini dan atribut
android:required
miliknya ditetapkan ketrue
, frameworkPackageManager
tidak akan mengizinkan pengguna untuk menginstal aplikasi, kecuali library tersebut ada di perangkat pengguna.Atribut
android:required
dijelaskan secara mendetail di bagian berikut. - atribut:
-
android:name
- Nama file library.
android:required
-
Nilai Boolean yang menunjukkan apakah aplikasi memerlukan library
yang ditetapkan oleh
android:name
atau tidak.-
"true"
: aplikasi tidak dapat berfungsi tanpa library ini. Sistem tidak mengizinkan aplikasi diinstal di perangkat yang tidak memiliki library tersebut. -
"false"
: aplikasi menggunakan library jika ada, tetapi dirancang agar dapat berfungsi tanpanya jika memang diperlukan. Sistem mengizinkan aplikasi diinstal meskipun library tidak ada. Jika menggunakan"false"
, Anda bertanggung jawab untuk menangani ketiadaan library dengan benar.
Library defaultnya adalah
"true"
. -
- diperkenalkan di:
- API level 31
- lihat juga:
<uses-native-library>
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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)"]]