- sintaksis:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="string" android:sharedUserId="string" android:sharedUserLabel="string resource" android:sharedUserMaxSdkVersion="integer" android:versionCode="integer" android:versionName="string" android:installLocation=["auto" | "internalOnly" | "preferExternal"] > ... </manifest>
- terdapat dalam:
- tidak ada
- harus berisi:
<application>
- dapat berisi:
<attribution>
<compatible-screens>
<instrumentation>
<permission>
<permission-group>
<permission-tree>
<queries>
<supports-gl-texture>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-permission>
<uses-permission-sdk-23>
<uses-sdk>
- deskripsi:
- Elemen root file
AndroidManifest.xml
. File ini harus berisi satu elemen<application>
serta menentukan atributxmlns:android
danpackage
. - atribut:
-
xmlns:android
- Menentukan namespace Android. Atribut ini selalu ditetapkan
ke
"http://schemas.android.com/apk/res/android"
. package
- Nilai atribut
package
dalam file manifes APK mewakili ID aplikasi unik universal milik aplikasi Anda. Format ini diformat sebagai nama paket lengkap bergaya bahasa Java untuk aplikasi Android. Nama dapat berisi huruf besar atau kecil, angka, dan garis bawah ('_'). Namun, beberapa bagian nama paket individual hanya boleh diawali dengan huruf.Berhati-hatilah agar tidak mengubah nilai
package
, karena pada dasarnya membuat aplikasi baru. Pengguna versi aplikasi Anda yang sebelumnya tidak akan menerima update dan tidak dapat mentransfer datanya antara versi lama dan baru.Dalam sistem build berbasis Gradle, mulai dari AGP 7.3, jangan tetapkan nilai
package
dalam file manifes sumber secara langsung. Untuk mengetahui informasi selengkapnya, lihat Menetapkan ID aplikasi. android:sharedUserId
-
Konstanta ini tidak digunakan lagi mulai API level 29.
ID pengguna bersama menyebabkan perilaku nondeterministik dalam pengelola paket. Karena itu, penggunaannya sangat tidak disarankan dan mungkin akan dihapus dalam versi Android berikutnya. Sebagai gantinya, gunakan mekanisme komunikasi yang tepat, seperti penyedia konten dan layanan, untuk memfasilitasi interoperabilitas antar-komponen bersama. Aplikasi yang ada tidak dapat menghapus nilai ini, karena memigrasikan ID pengguna bersama tidak didukung. Di aplikasi ini, tambahkanandroid:sharedUserMaxSdkVersion="32"
untuk menghindari penggunaan ID pengguna bersama pada penginstalan pengguna baru.Nama ID pengguna Linux yang dibagikan ke aplikasi lain. Secara default, Android akan menetapkan ID pengguna unik tersendiri bagi setiap aplikasinya. Namun, jika atribut ini ditetapkan ke nilai yang sama untuk dua aplikasi atau lebih, semuanya akan memiliki ID yang sama, dengan ketentuan bahwa rangkaian sertifikatnya juga sama. Aplikasi dengan ID pengguna yang sama dapat mengakses data satu sama lain, dan jika diinginkan, berjalan dalam proses yang sama.
android:targetSandboxVersion
-
Sandbox target yang perlu digunakan oleh aplikasi ini. Semakin tinggi nomor versi sandbox,
semakin tinggi juga tingkat keamanannya.
Nilai default-nya adalah
1
; Anda juga dapat mengaturnya ke2
. Mengatur atribut ini ke2
akan mengalihkan aplikasi ke sandbox SELinux yang berbeda.Batasan berikut berlaku untuk sandbox level 2:
- Nilai default
usesCleartextTraffic
dalam Network Security Config adalah false. - Anda tidak diizinkan untuk berbagi UID.
Untuk Aplikasi Instan Android yang menargetkan Android 8.0 (API level 26) atau lebih tinggi, atribut ini ditetapkan ke
2
. Anda dapat menetapkan tingkat sandbox dalam versi aplikasi yang diinstal ke tingkat1
yang tidak terlalu ketat. Namun, jika Anda melakukannya, aplikasi Anda tidak akan mempertahankan data aplikasi dari aplikasi instan ke versi aplikasi yang diinstal. Anda harus menetapkan nilai sandbox aplikasi yang diinstal ke2
agar data tetap ada dari aplikasi instan ke versi yang diinstal.Setelah aplikasi terinstal, Anda hanya dapat memperbarui nilai sandbox targetnya ke nilai yang lebih tinggi. Untuk men-downgrade nilai sandbox target, uninstal aplikasi dan ganti dengan versi yang manifesnya berisi nilai yang lebih rendah untuk atribut ini.
- Nilai default
android:sharedUserLabel
-
Konstanta ini tidak digunakan lagi mulai API level 29.
ID pengguna bersama menyebabkan perilaku nondeterministik dalam pengelola paket. Karena itu, penggunaannya sangat tidak disarankan dan mungkin akan dihapus dalam versi Android berikutnya. Sebagai gantinya, gunakan mekanisme komunikasi yang tepat, seperti penyedia konten dan layanan, untuk memfasilitasi interoperabilitas antar-komponen bersama. Aplikasi yang ada tidak dapat menghapus nilai ini, karena memigrasikan ID pengguna bersama tidak didukung.Label yang dapat dibaca pengguna untuk ID pengguna bersama. Label ditetapkan sebagai referensi ke resource string. Atribut ini tidak boleh berupa string mentah.
Atribut ini diperkenalkan di API level 3. Label ini hanya berguna jika atribut
sharedUserId
juga ditetapkan. android:sharedUserMaxSdkVersion
-
ID pengguna bersama menyebabkan perilaku nondeterministik dalam pengelola paket. Karena itu, penggunaannya sangat tidak disarankan dan mungkin akan dihapus dalam versi Android berikutnya. Sebagai gantinya, gunakan mekanisme komunikasi yang tepat, seperti penyedia konten dan layanan, untuk memfasilitasi interoperabilitas antar-komponen bersama.
Versi SDK maksimum tempat sistem masih menggunakan
android:sharedUserId
. Jika aplikasi Anda baru diinstal di perangkat yang menjalankan versi SDK yang lebih tinggi dari nilai yang ditentukan, aplikasi akan berperilaku seolah-olah Anda tidak pernah menentukanandroid:sharedUserId
.Atribut ini diperkenalkan di API level 33. Label ini hanya berguna jika atribut
sharedUserId
juga ditetapkan. android:versionCode
- Nomor versi internal. Nomor ini hanya digunakan untuk menentukan apakah
suatu versi lebih baru daripada versi lainnya; dengan nomor yang lebih tinggi menunjukkan
versi yang lebih baru. Nomor ini bukanlah nomor versi yang ditampilkan kepada pengguna, yang
ditetapkan oleh atribut
versionName
.Nilai ditetapkan sebagai bilangan bulat positif yang lebih besar dari 0. Anda dapat menentukannya sesuai keinginan, asalkan setiap versi setelahnya memiliki nomor yang lebih tinggi. Misalnya, nomor ini dapat berupa nomor build, atau Anda dapat mengubah nomor versi dalam format "x.y" menjadi bilangan bulat dengan mengenkode "x" dan "y" secara terpisah dalam 16 bit yang lebih rendah dan lebih tinggi. Selain itu, Anda juga dapat menaikkan nomor ini satu per satu setiap kali versi baru dirilis.
android:versionName
- Nomor versi yang ditampilkan kepada pengguna. Atribut ini ditetapkan sebagai string
mentah atau sebagai referensi ke resource string. String ini tidak memiliki tujuan selain
untuk ditampilkan kepada pengguna. Atribut
versionCode
berisi nomor versi signifikan yang digunakan secara internal. android:installLocation
- Lokasi penginstalan default untuk aplikasi.
String kata kunci berikut diterima:
Nilai Deskripsi "internalOnly"
Aplikasi hanya diinstal di penyimpanan perangkat internal. Jika hal ini ditetapkan, aplikasi tidak akan pernah diinstal di penyimpanan eksternal, seperti kartu SD. Jika penyimpanan internal penuh, sistem tidak akan menginstal aplikasi. Ini adalah perilaku default jika Anda tidak menentukan android:installLocation
."auto"
Aplikasi dapat diinstal di penyimpanan eksternal, tetapi sistem menginstal aplikasi di penyimpanan internal secara default. Jika penyimpanan internal penuh, sistem akan menginstalnya di penyimpanan eksternal. Setelah diinstal, pengguna dapat memindahkan aplikasi ke penyimpanan internal atau eksternal melalui setelan sistem. "preferExternal"
Aplikasi lebih memilih untuk diinstal di penyimpanan eksternal. Tidak ada jaminan bahwa sistem akan memenuhi permintaan ini. Aplikasi mungkin diinstal di penyimpanan internal jika media eksternal tidak tersedia atau penuh. Setelah diinstal, pengguna dapat memindahkan aplikasi ke penyimpanan internal atau eksternal melalui setelan sistem. Catatan: Secara default, aplikasi diinstal di penyimpanan internal dan tidak dapat diinstal di penyimpanan eksternal kecuali Anda menetapkan atribut ini menjadi
"auto"
atau"preferExternal"
.Saat aplikasi diinstal di penyimpanan eksternal:
- File APK disimpan ke penyimpanan eksternal, tetapi data aplikasi apa pun, seperti database, masih disimpan di memori perangkat internal.
- Penampung tempat file APK disimpan dienkripsi dengan kunci yang memungkinkan aplikasi beroperasi hanya di perangkat tempatnya diinstal. Pengguna tidak dapat mentransfer kartu SD ke perangkat lain lalu menggunakan aplikasi yang terinstal di kartu tersebut. Beberapa kartu SD dapat digunakan dengan perangkat yang sama.
- Atas permintaan pengguna, aplikasi dapat dipindahkan ke penyimpanan internal.
Pengguna juga dapat meminta untuk memindahkan aplikasi dari penyimpanan internal ke penyimpanan eksternal. Namun, sistem tidak mengizinkan pengguna memindahkan aplikasi ke penyimpanan eksternal jika atribut ini ditetapkan ke
"internalOnly"
, yang merupakan setelan default.Untuk informasi selengkapnya tentang penggunaan atribut ini, termasuk cara mempertahankan kompatibilitas mundur, lihat Lokasi penginstalan aplikasi.
Diperkenalkan di: API level 8.
- diperkenalkan di:
- API level 1 untuk semua atribut, kecuali dinyatakan lain dalam deskripsi atribut.
- lihat juga:
-
<application>
<manifes>
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-05-12 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-05-12 UTC."],[],[]]