Android Manifest Nedir?

Özgür Can
2 min readFeb 22, 2021

Android uygulamaların olmazsa olmazı olan Android Manifest dosyası nedir? Ne önem taşır?

Her android projesinin, proje kaynak dosyasında AndroidManifest.xml adında bir xml dosyası yer alır. Her proje oluşturduğumuz da o projeye özel bir manifest dosyası yaratılır.

Şu bilgi olarak kalsın

Peki bir proje de birden fazla “Manifest” dosyası olur mu ? Olursa neden olur ?

APK dosyanız yalnızca bir Android Manifest.xml dosya içerebilir , ancak Android Studio projeniz birkaç tane içerebilir. Dolayısıyla derleme varyantları ve içe aktarılan kütüphaneler tarafından sağlanır. Öyleyse uygulamanızı oluştururken, gradle derlemesi, tüm manifest dosyalarını APK'nızın içinde paketlenmiş tek bir manifest dosyasında birleştirir.

Manifest: Bir uygulamanın çalışması için olmazsa olmazları barındıran en önemli dosyadır. Peki burada neler yer alır?

  • Her oluşturulan sayfanın tanımı burada yapılır, ana(başlangıç) sayfasının hangisi olacağı burada belirtilir.
  • Application name, icon özelliklerini burada kontrol ederiz.
  • Uygulamanın ihtiyacı olan bütün izinler(Internet,Camera,Firebase,Zoom,Konum,bluetooth vs.)
  • Activitylerin yönetimi ve bu activitylerin özelliklerini bildirmek. Özellikleri nedir?
    -configChanges,screenOrientation vs.-> Ekran döndürebilir mi, yoksa sadece portrait/landscape mi kullanılacağını belirleyebilirsin. Ben statusBar gizlemek istiyorum dersen bunu activity/fragmentinin içerisinde
    -window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
    özelliğiyle vermelisin.
  • Uygulamada kullanılacak version numaralarını, kütüphaneleri, minimum ve geçerli SDK sürümlerini bildirmek

Manifest içerisinde kullanılan taglardan bahsetmek gerekirse:

<manifest/> Ana tagdir.Manifest tagi application tagi içermek zorundadır.Paket adı, version numaraları dahil başlıca özellikleri burada tutarız.Ekleyeceğimiz diğer tagleri bu tag içerisine ekleriz.

<application> Uygulama ismi,iconu,temasını,ve eklenen bütün activityleri içerisinde barından tagdir.

<uses-permission> Uygulama içi kullanıcının vermesi gereken sistem izinlerini burada tutarız.İnternet erişimi, kamera kullanımı, konum vs.

<uses-sdk> API seviyesini belirlemek için kullanılır.API seviyesini tam sayı vermek zorunludur.

<intent-filter> : Activity, service ve broadcast receiver bileşenler için intent tipini belirtmek için kullanılan etikettir. İçerisinde <action>, <category>, <data> etiketleri bulundurur.

<action>: intent-filter tagine bir özellik eklemeni sağlar.

<category>: intent-filter taginin kategori adını belirtir.
Taglari detaylı incelemek isteyen arkadaşlar buraya tıklayıp gidebilir.

Biraz daha içeriye doğru girelim..
<manifest package=”..”/> Uygulamanızın paket adıdır. Bu her app için benzersiz olması gerekir. Uygulama mağazada yayınlandıktan sonra değiştirilmesine izin verilmez.

<uses-permission> : İzinler tanımlanmazsa uygulamada istediğiniz esnekliğe kavuşamazsınız. Örneğin Google Map. Bulunduğun nokta ile gitmek istediğin yer arasında bir yol çizmek istiyor. Fakat konumuna izin vermeden ulaşamaz. Android de önce izin iste;”benim her kullanıcım değerlidir”diyor.

<uses-permission android:name="android.permission.INTERNET"(INTERNET,WRITE_EXTERNAL_STORAGE,ACCESS_FINE_LOCATION) />

<uses-sdk> : Bir ya da daha fazla Android platformu ile uygulamanın uyumluluğunu sağlayan etikettir. Temel amaç, API seviyesini belirlemektir.

<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="27"
android:maxSdkVersion="27"/>

Şimdilik bildiklerimi aktardım.. Öğrendikçe güncellemeye devam edeceğim. Bir başka yazıda buluşmak dileğiyle.. Öğrenmeye ve öğrendiğimi öğretmeye adım adım.

--

--