<manifest>

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>
Şunlarda bulunur:
none
Şunları içermelidir:
<application>
Şunları içerebilir:
<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>
description:
AndroidManifest.xml dosyasının kök öğesidir. Bir <application> öğesi içermeli ve xmlns:android ile package özelliklerini belirtmelidir.
özellikleri:
xmlns:android
Android ad alanını tanımlar. Bu özellik her zaman "http://schemas.android.com/apk/res/android" olarak ayarlanır.
package
APK'nın manifest dosyasında package özelliğinin değeri, uygulamanızın evrensel olarak benzersiz uygulama kimliğini temsil eder. Android uygulaması için tam Java dili tarzında bir paket adı olarak biçimlendirilir. Ad büyük veya küçük harf, sayı ve alt çizgi ("_") içerebilir. Ancak paket adının ayrı bölümleri yalnızca harflerle başlayabilir.

package değerini değiştirmemeye dikkat edin. Aksi takdirde yeni bir uygulama oluşturulur. Uygulamanızın önceki sürümünü kullanan kullanıcılar güncelleme almaz ve verilerini eski ile yeni sürüm arasında aktaramaz.

AGP 7.3'ten itibaren Gradle tabanlı derleme sisteminde package değerini doğrudan kaynak manifest dosyasında ayarlamayın. Daha fazla bilgi için Uygulama kimliğini ayarlama başlıklı makaleyi inceleyin.

android:sharedUserId

Bu sabit, API düzeyi 29'dan itibaren kullanımdan kaldırılmıştır.
Paylaşılan kullanıcı kimlikleri, paket yöneticisinde kesin olmayan davranışlara neden olur. Bu nedenle, bu API'lerin kullanılması önerilmez ve Android'in gelecekteki bir sürümünde kaldırılabilir. Bunun yerine, paylaşılan bileşenler arasında birlikte çalışabilirliği kolaylaştırmak için hizmetler ve içerik sağlayıcılar gibi uygun iletişim mekanizmalarını kullanın. Paylaşılan kullanıcı kimliğinden geçiş desteklenmediğinden mevcut uygulamalar bu değeri kaldıramaz. Bu uygulamalarda, yeni kullanıcı yüklemelerinde ortak kullanıcı kimliğinin kullanılmasını önlemek için android:sharedUserMaxSdkVersion="32" ekleyin.

Diğer uygulamalarla paylaşılan Linux kullanıcı kimliğinin adı. Android, varsayılan olarak her uygulamaya kendi benzersiz kullanıcı kimliğini atar. Ancak bu özellik iki veya daha fazla uygulama için aynı değere ayarlanırsa sertifika gruplarının aynı olması koşuluyla bunların tümü aynı kimliği paylaşır. Aynı kullanıcı kimliğine sahip uygulamalar birbirlerinin verilerine erişebilir ve istenirse aynı süreçte çalışabilir.

android:targetSandboxVersion
Bu uygulamanın kullanacağı hedef korumalı alan. Korumalı alan sürüm numarası ne kadar yüksek olursa güvenlik seviyesi de o kadar yüksek olur. Varsayılan değeri 1'tür. 2 olarak da ayarlayabilirsiniz. Bu özelliği 2 olarak ayarlamak, uygulamayı farklı bir SELinux korumalı alanına geçirir.

2. düzey korumalı alan için aşağıdaki kısıtlamalar geçerlidir:

  • Ağ Güvenliği Yapılandırması'ndaki usesCleartextTraffic değerinin varsayılan değeri yanlıştır.
  • Uid paylaşımına izin verilmez.

Android 8.0 (API düzeyi 26) veya sonraki sürümleri hedefleyen Android Hızlı Uygulamalar için bu özellik 2 olarak ayarlanır. Uygulamanızın yüklü sürümünde korumalı alan düzeyini daha az kısıtlayıcı 1 düzeyine ayarlayabilirsiniz. Ancak bunu yaparsanız uygulamanız, uygulama verilerini hazır uygulamadan uygulamanızın yüklü sürümüne aktarmaz. Verilerin hazır uygulamadan yüklü sürüme aktarılması için yüklü uygulamanın korumalı alan değerini 2 olarak ayarlamanız gerekir.

Bir uygulama yüklendikten sonra, hedef korumalı alan değerini yalnızca daha yüksek bir değerle güncelleyebilirsiniz. Hedef korumalı alan değerini düşürmek için uygulamayı kaldırın ve manifest dosyasında bu özellik için daha düşük bir değer içeren bir sürümle değiştirin.

android:sharedUserLabel

Bu sabit, API düzeyi 29'dan itibaren kullanımdan kaldırılmıştır.
Paylaşılan kullanıcı kimlikleri, paket yöneticisinde kesin olmayan davranışlara neden olur. Bu nedenle, bu API'lerin kullanılması önerilmez ve Android'in gelecekteki bir sürümünde kaldırılabilir. Bunun yerine, paylaşılan bileşenler arasında birlikte çalışabilirliği kolaylaştırmak için hizmetler ve içerik sağlayıcılar gibi uygun iletişim mekanizmalarını kullanın. Paylaşılan kullanıcı kimliğinden geçiş desteklenmediğinden mevcut uygulamalar bu değeri kaldıramaz.

Paylaşılan kullanıcı kimliği için kullanıcı tarafından okunabilen bir etiket. Etiket, bir dize kaynağına referans olarak ayarlanır. Ham dize olamaz.

Bu özellik API düzeyi 3'te kullanıma sunulmuştur. Yalnızca sharedUserId özelliği de ayarlanmışsa anlamlı olur.

android:sharedUserMaxSdkVersion

Paylaşılan kullanıcı kimlikleri, paket yöneticisinde kesin olmayan davranışlara neden olur. Bu nedenle, bu API'lerin kullanılması önerilmez ve Android'in gelecekteki bir sürümünde kaldırılabilir. Bunun yerine, paylaşılan bileşenler arasında birlikte çalışabilirliği kolaylaştırmak için hizmetler ve içerik sağlayıcılar gibi uygun iletişim mekanizmalarını kullanın.

Sistemin hâlâ android:sharedUserId kullandığı maksimum SDK sürümü. Uygulamanız, belirtilen değerden daha yüksek bir SDK sürümü çalıştıran bir cihaza yeni yüklenirse uygulamanız android:sharedUserId değerini hiç tanımlamamış gibi davranır.

Bu özellik API düzeyi 33'te kullanıma sunulmuştur. Yalnızca sharedUserId özelliği de ayarlanmışsa anlamlı olur.

android:versionCode
Dahili sürüm numarası. Bu sayı yalnızca bir sürümün diğerinden daha yeni olup olmadığını belirlemek için kullanılır. Daha yüksek sayılar daha yeni sürümleri gösterir. Bu, kullanıcılara gösterilen ve versionName özelliği tarafından ayarlanan sürüm numarası değildir.

Değer, 0'dan büyük pozitif bir tam sayı olarak ayarlanır. Her bir sonraki sürümün numarası daha yüksek olduğu sürece istediğiniz şekilde tanımlayabilirsiniz. Örneğin, bir derleme numarası olabilir veya "x" ile "y"yi alt ve üst 16 bitte ayrı olarak kodlayarak "x.y" biçimindeki bir sürüm numarasını tam sayıya dönüştürebilirsiniz. Dilerseniz yeni bir sürüm her yayınlandığında bu sayıyı bir artırırsınız.

android:versionName
Kullanıcılara gösterilen sürüm numarası. Bu özellik, ham dize veya dize kaynağına referans olarak ayarlanır. Dizinin amacı, kullanıcılara gösterilmekten başka bir şey değildir. versionCode özelliği, dahili olarak kullanılan önemli sürüm numarasını içerir.
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 cihazın dahili depolama alanına yüklenir. Bu ayar etkinse uygulama hiçbir zaman SD kart gibi harici depolama alanlarına yüklenmez. Dahili depolama alanı doluysa sistem uygulamayı yüklemez. android:installLocation değerini tanımlamazsanız varsayılan davranış budur.
"auto" Uygulama harici depolama alanına yüklenebilir ancak sistem varsayılan olarak uygulamayı dahili depolama alanına yükler. Dahili depolama alanı doluysa sistem, uygulamayı harici depolama alanına yükler. Kullanıcı, uygulamayı yükledikten sonra sistem ayarlarından dahili veya harici depolamaya taşıyabilir.
"preferExternal" Uygulama, harici depolama alanına yüklenmeyi tercih eder. Sistemin bu isteği dikkate alacağı garanti edilmez. Harici medya kullanılamıyorsa veya doluysa uygulama dahili depolama alanına yüklenebilir. Kullanıcı, uygulamayı yükledikten sonra sistem ayarlarından dahili veya harici depolamaya taşıyabilir.

Not: Uygulamanız varsayılan olarak dahili depolama alanına yüklenir ve bu özelliği "auto" veya "preferExternal" olarak tanımlamadığınız sürece harici depolama alanına yüklenemez.

Bir uygulama harici depolama alanına yüklendiğinde:

  • APK dosyası harici depolama alanına kaydedilir ancak veritabanı gibi uygulama verileri yine de cihazın dahili belleğine kaydedilir.
  • APK dosyasının kaydedildiği kapsayıcı, uygulamanın yalnızca yüklenen cihazda çalışmasını sağlayan bir anahtarla şifrelenir. Kullanıcı, SD kartı başka bir cihaza aktaramaz ve karta yüklenen uygulamaları kullanamaz. Aynı cihazda birden fazla SD kart kullanılabilir.
  • Uygulama, kullanıcının isteği üzerine dahili depolamaya taşınabilir.

Kullanıcı, bir uygulamayı dahili depolama alanından harici depolama alanına taşımayı da isteyebilir. Ancak bu özellik varsayılan ayar olan "internalOnly" olarak ayarlanırsa sistem kullanıcının uygulamayı harici depolamaya taşımasına izin vermez.

Geriye dönük uyumluluğu koruma dahil olmak üzere bu özelliği kullanma hakkında daha fazla bilgi için Uygulama yükleme konumu başlıklı makaleyi inceleyin.

Kullanıma sunulduğu API düzeyi: 8.

Tanıtıldığı oyun:
Özellik açıklamasında aksi belirtilmedikçe tüm özellikler için API düzeyi 1.
Ayrıca:
<application>