AndroidManifest.xml dosyası, herhangi bir Android projesinin olmazsa olmaz dosyasıdır. Uygulamanızın tüm temel bilgileri AndroidManifest.xml içinde belirtilir. Bu dosya xml formatında oluşturulduğu için hem makina hem de insan tarafından okunabilir. Aşağıda yer alan kod parçası, örnek bir AndroidManifest.xml dosyasıdır. İçerdiği bölümlerin ne anlama geldiğini bu eğitim içeriğimizde öğreneceğiz.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="gy.gyapplication"
android:versionCode="1"
android:versionName="1.0" />
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="22"/>
<uses-permission android:name="android.permission.INTERNET"/>
<instrumentation
android:name="android.bluetooth.BluetoothInstrumentation"
android:targetPackage="1"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" android:allowClearUserData="false" android:hardwareAccelerated="true">
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Manifest
Manifest etiketi, uygulamamızın paket adı, versiyon numaraları dahil başlıca özellikleri bulunur. Buraya gireceğiniz etiketler uygulamanızda kullanacağınız pek çok şeyi berlirler. Uygulamamızda yer alacak kütüphaneler, kullanılabilecek ekran boyutları gibi bazı temel özellikler de eklenebilir. Örneğin, burada yaratacağınız Uses Sdk etiketiyle, uygulamanızın çalışmasını istediğimiz minimum SDK sürümü ve hedeflediğimiz ana SDK sürümünü seçebilir, Uses Permission etiketiyle uygulamanızın istediği izinleri buradan ayarlayabilirsiniz:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="gy.gyapplication"
android:versionCode="1"
android:versionName="1.0" />
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="22"/>
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
Application
Application etiketinde uygulamamızın temel değişkenlerini ayarlayabiliyoruz. Uygulamanın tema, simge, logo, açıklama ve gereken izinler gibi özelliklerini buradan ayarlayabileceğimiz gibi donanım hızlandırma, kullanıcı alanının yönetimi, yedekleme (backup) gibi bazı özellikler için de bu dosyayı kullanabiliyoruz. Örneğin, aşağıdaki kod parçasında da görüldüğü gibi Hardware accelerated (Donanım hızlandırma) = true şeklinde ayarladığımızda, uygulama artık bu özelliğe sahip oluyor.
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" android:allowClearUserData="false" android:hardwareAccelerated="true">
</application>
Instrumentation
Instrumentation etiketinde, uygulamanıza ek "enstrümanlar" ekleyebilirsiniz. Enstrümanlar, uygulamanızın çalıştığı süreçten (process) ayrı olarak uygulamanızla ilgili testleri yerine getiren, onun yaşam döngüsüne karışan ve onu takip eden Android bileşenleridir. Daha çok fonksiyonel testler yazdığınızda burayı kullanacaksınız.
<instrumentation
android:name="android.bluetooth.BluetoothInstrumentation"
android:targetPackage="1"/>