- söz dizimi:
<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>
- bulunduğu yer:
- hiçbiri
- şunları içermelidir:
<application>
- şunları içerebilir:
<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>
- description:
AndroidManifest.xml
dosyasının kök öğesidir. Bu bir<application>
öğesi içerir vexmlns:android
ilepackage
özelliklerini belirtin.- özellikler:
-
xmlns:android
- Android ad alanını tanımlar. Bu özellik her zaman ayarlanır
"http://schemas.android.com/apk/res/android"
numaralı telefona. package
- APK'nın manifest dosyasındaki
package
özelliğinin değeri, uygulamanın evrensel olarak benzersiz uygulama kimliği. Tam bir Java dili stili ve Android uygulamasının paket adı. Ad, büyük veya küçük harfler, sayılar ya da alt çizgi ("_") ekleyin. Bununla birlikte, tek tek paket adı bölümleri yalnızca anlamına gelir.package
değerini değiştirmemeye dikkat edin. Çünkü bu değer, yeni bir uygulama oluşturur. Uygulamanızın önceki sürümünün kullanıcıları güncelleme almaz ve Sürümlerini eski ve yeni sürümler arasında aktarmak istiyor.AGP 7.3'ten itibaren Gradle tabanlı derleme sisteminde
package
değerini doğrudan kaynak manifest dosyasına ekleyin. Daha fazla bilgi için bkz. Uygulama kimliğini ayarlayın. android:sharedUserId
-
Bu sabit değer, API düzeyi 29 itibarıyla kullanımdan kaldırılmıştır.
. Paylaşılan kullanıcı kimlikleri, paket yöneticisi içinde deterministik olmayan davranışa neden olur. Bu nedenle, kesinlikle önerilmez ve Android'in gelecekteki bir sürümünde kaldırılabilir. Bunun yerine hizmetleri ve içerik sağlayıcılar gibi uygun iletişim mekanizmalarını Paylaşılan bileşenler arasında birlikte çalışabilirlik Mevcut uygulamalar bu değeri kaldıramaz. paylaşılan bir kullanıcı kimliğinin taşınması desteklenmez. Bu uygulamalarda Paylaşılanları kullanmaktan kaçınmak içinandroid:sharedUserMaxSdkVersion="32"
Yeni kullanıcı yüklemelerinde kullanıcı kimliği.Diğer uygulamalarla paylaşılan Linux kullanıcı kimliğinin adı. Varsayılan olarak Android her uygulamaya kendi benzersiz kullanıcı kimliğini atar. Ancak, bu özellik iki veya daha fazla alan için aynı değere ayarlanırsa hepsinin aynı kimliği paylaşması gerekir. aynı olduğundan emin olun. Aynı kullanıcı kimliğine sahip uygulamalar erişebilir birbirlerinin verilerini toplamalarını ve istenirse aynı süreçte çalıştırmalarını sağlar.
android:targetSandboxVersion
- .
Bu uygulamanın kullanacağı hedef korumalı alan. Korumalı alan sürüm numarası ne kadar yüksek olursa
güvenlik seviyesi o kadar artar.
Varsayılan değeri
1
şeklindedir;2
olarak da ayarlayabilirsiniz. Bu özelliğin2
olarak ayarlanması, uygulamasını farklı bir SELinux korumalı alanına taşımanızı sağlar.2. düzey korumalı alan için aşağıdaki kısıtlamalar geçerlidir:
- Varsayılan
usesCleartextTraffic
değeri false (yanlış) değerindedir. - Kullanıcı kimliği paylaşımına izin verilmez.
Android 8.0 (API düzeyi 26) veya sonraki sürümleri hedefleyen Android Hazır Uygulamalar için bu özellik
2
olarak ayarlanmış. Korumalı alan düzeyini, uygulamanızın yüklü sürümünde ayarlayabilirsiniz daha az kısıtlayıcı olana1
. seviye. Ancak bunu yaparsanız uygulamanız, uygulama verilerini hazır uygulamadan uygulamanızın yüklü sürümü. Yüklü uygulamanın korumalı alan değerini2
olarak ayarlamalısınız .Bir uygulama yüklendikten sonra, uygulamanın yalnızca hedef korumalı alan değerini daha yüksek bir değere güncelleyebilirsiniz. Hedef korumalı alan değerini düşürmek için uygulamayı kaldırın ve bunu, manifestinde bu özellik için daha düşük bir değer içeren bir sürümle değiştirin.
- Varsayılan
android:sharedUserLabel
-
Bu sabit değer, API düzeyi 29 itibarıyla kullanımdan kaldırılmıştır.
. Paylaşılan kullanıcı kimlikleri, paket yöneticisi içinde deterministik olmayan davranışa neden olur. Bu nedenle, kesinlikle önerilmez ve Android'in gelecekteki bir sürümünde kaldırılabilir. Bunun yerine hizmetleri ve içerik sağlayıcılar gibi uygun iletişim mekanizmalarını Paylaşılan bileşenler arasında birlikte çalışabilirlik Mevcut uygulamalar bu değeri kaldıramaz. paylaşılan bir kullanıcı kimliğinin taşınması desteklenmez.Paylaşılan kullanıcı kimliği için kullanıcı tarafından okunabilir bir etiket. Etiket şu şekilde ayarlandı: dize kaynağına başvurudur. Ham dize olamaz.
. Bu özellik API düzeyi 3'te kullanıma sunuldu. Bu, yalnızca
sharedUserId
özelliği de ayarlanmış. android:sharedUserMaxSdkVersion
-
Paylaşılan kullanıcı kimlikleri, paket yöneticisi içinde deterministik olmayan davranışa neden olur. Bu nedenle, kesinlikle önerilmez ve Android'in gelecekteki bir sürümünde kaldırılabilir. Bunun yerine hizmetleri ve içerik sağlayıcılar gibi uygun iletişim mekanizmalarını Paylaşılan bileşenler arasında birlikte çalışabilirlik
Sistemin hâlâ
android:sharedUserId
kullandığı maksimum SDK sürümü. Eğer belirtilen değerden daha yüksek bir SDK sürümü çalıştıran bir cihaza yeni yüklenmişse uygulamanızandroid:sharedUserId
hiç tanımlamamışsınız gibi davranır.. Bu özellik, API düzeyi 33'te kullanıma sunulmuştur. Bu, yalnızca
sharedUserId
özelliği de ayarlanmış. android:versionCode
- Dahili bir sürüm numarası. Bu numara yalnızca
bir sürüm diğerine göre daha yenidir;
yüksek sayılar daha fazla sürüm anlamına gelir
son sürümler. Bu, kullanıcılara gösterilen sürüm numarası değildir.
versionName
özelliği tarafından ayarlanır.Değer, 0'dan büyük bir pozitif tam sayı olarak ayarlanır. Hedeflerinize göre ancak arka arkaya her sürüm daha yüksek bir sayı sayısına sahip olması koşuluyla, istediğiniz zaman izleyebilirsiniz. Örneğin, bir derleme numarası olabilir veya bir sürümü çevirebilirsiniz. "x.y" içindeki sayı "x" karakterini kodlayarak biçimi bir tam sayıya dönüştürün ve "y" ayrı ayrı alt ve üst 16 bit'i içerir. İsterseniz sayıyı bir artırabilirsiniz yeni bir sürüm yayınlandığından emin olun.
android:versionName
- Kullanıcılara gösterilen sürüm numarası. Bu özellik, ham olarak ayarlandı
dize kaynağı olarak kullanabilirsiniz. Dizenin başka bir amacı yok
daha iyi anlamama yardımcı olur.
versionCode
özelliği şunu tutar: dahili olarak kullanılan önemli sürüm numarası. android:installLocation
- Uygulamanın varsayılan yükleme konumu.
Aşağıdaki anahtar kelime dizeleri kabul edilir:
Değer Açıklama "internalOnly"
Uygulama yalnızca dahili cihaz depolama alanına yüklenir. Bu ayarlanırsa Uygulama hiçbir zaman SD kart gibi harici bir depolama alanına yüklenmez. Dahili sistem uygulamayı yüklemez. Bu, varsayılan davranıştır android:installLocation
değerini tanımlamazsanız."auto"
Uygulama harici depolamaya yüklenebilir, ancak sistem dahili depolamadaki varsayılan uygulamadır. Dahili depolama alanı doluysa sistem harici depolamaya yükler. Kullanıcı, yüklendikten sonra uygulamayı taşıyabilir dahili veya harici depolamaya ekleyebilirsiniz. "preferExternal"
Uygulama, harici depolama alanına yüklenmeyi tercih ediyor. Hayır ve sistemin bu isteği kabul edeceğini garanti eder. Uygulama dahili olarak depolama alanı sunar. Yüklendikten sonra kullanıcı uygulamayı şuraya taşıyabilir: dahili veya harici depolamaya ihtiyacınız olabilir. Not: Varsayılan olarak, uygulamanız dahili depolama alanına ve bu özelliği tanımlamadığınız sürece harici depolama alanına yüklenemez
"auto"
veya"preferExternal"
olacak.Bir uygulama harici depolama alanına yüklendiğinde:
- APK dosyası kaydedildi harici depolamaya veri gönderir, ancak veritabanları gibi uygulama verileri dahili cihaz belleği.
- APK dosyasının kaydedildiği kapsayıcı, aşağıdakileri yapan bir anahtarla şifrelenmiştir: Uygulama yalnızca onu yükleyen cihazda çalışır. Kullanıcı SD kartı başka bir cihaza aktarabilir ve kartta yüklü uygulamaları kullanabilirsiniz. Aynı cihazda birden çok SD kart kullanılabilir.
- Kullanıcının isteği üzerine uygulama dahili depolama alanına taşınabilir.
Kullanıcı ayrıca dahili depolamadaki bir uygulamayı harici depolama alanına taşımayı da isteyebilir depolama alanına sahip olursunuz. Ancak, aşağıdaki durumlarda sistem kullanıcının uygulamayı harici depolamaya taşımasına izin vermez: bu özellik, varsayılan ayar olan
"internalOnly"
değerine ayarlandı.Örneğin, geriye dönük uyumluluğun nasıl sağlanacağı da dahil olmak üzere bu özelliğin kullanımı hakkında daha fazla bilgi Uygulama yükleme konumu adlı makaleyi inceleyin.
Kullanıma sunulduğu uygulama düzeyi: API düzeyi 8.
- tanıtıldığı yer:
- Özellik açıklamasında aksi belirtilmedikçe tüm özellikler için API düzeyi 1.
- ayrıca bkz.:
-
<application>