Android mimarisi, mobil cihaz ihtiyaçlarını desteklemek için bileşenlerden oluşan bir yazılım yığınıdır. Android yazılım yığını, bir Linux Çekirdeği, bir uygulama çerçevesi hizmetleri, çalışma zamanı ve uygulama aracılığıyla sunulan c/c++ kitaplıkları koleksiyonunu içerir.
Aşağıda, android mimarisinin ana bileşenlerini görmektesiniz.
- Applications
- Android Framework
- Android Runtime
- Platform Libraries
- Linux Kernel
Bu bileşenlerde,Linux Çekirdeği, işletim sistemi işlevlerini mobil cihazlara ve bir mobil uygulamayı çalıştırmaktan sorumlu olan Dalvik Sanal Makinesi’ne (DVM) sağlayan android’deki ana bileşendir.
Aşağıda android mimarisinin farklı bileşenlerle resimli gösterimi yer almaktadır.

Applications
Android mimarisinin en üst katmanı Uygulamalar’dır. Kişiler, e-posta, müzik, galeri, saat, oyunlar vb. gibi yerel ve üçüncü taraf uygulamalar, bunları ne yaparsak yapalım yalnızca bu katmana yüklenecektir.
Uygulama katmanı, uygulama çerçevesinden sağlanan sınıfları ve hizmetleri kullanarak Android çalışma süresi içinde çalışır.
Application Framework
Uygulama Çerçevesi, Android uygulamaları oluşturmak için kullanılan sınıfları sağlar. Ayrıca donanım erişimi için genel bir soyutlama sağlar ve kullanıcı arabirimini ve uygulama kaynaklarını yönetir. Temel olarak, belirli bir sınıf oluşturabileceğimiz ve bu sınıfı Uygulama oluşturma için yararlı hale getirebileceğimiz hizmetleri sağlar.
Uygulama çerçevesi, gereksinimlerimize göre uygulama geliştirme için kullanabileceğimiz telefon hizmeti, konum hizmetleri, bildirim yöneticisi, NFC hizmeti, görüntüleme sistemi vb. hizmetleri içerir.
Android Runtime
Android Runtime ortamı, dahili bir parçadan ziyade Android’in önemli bir parçasıdır ve çekirdek kitaplıklar ve Dalvik sanal makinesi gibi bileşenleri içerir. Android çalışma zamanı, kitaplıklarla birlikte uygulamalarımıza güç veren motordur ve uygulama çerçevesinin temelini oluşturur.
Dalvik Sanal Makinesi (DVM), Java Sanal Makinesi (JVM) gibi kayıt tabanlı bir sanal makinedir. Bir cihazın birden çok örneği verimli bir şekilde çalıştırabilmesini sağlamak için android için özel olarak tasarlanmış ve optimize edilmiştir. İş parçacığı oluşturma ve düşük seviyeli bellek yönetimi için Linux çekirdeğine dayanır.
Android çalışma zamanındaki çekirdek kitaplıklar, standart JAVA programlama dilini kullanarak android uygulamalarını gerçekleştirmemizi sağlayacaktır.
Platform Libraries
Platform Kitaplıkları, Android geliştirme desteği sağlamak için çeşitli C/C++ çekirdek kitaplıkları ve SSL, libc, Graphics, SQLite, Webkit, Media, Surface Manger, OpenGL vb. gibi Java tabanlı kitaplıkları içerir.
Aşağıdakiler, android geliştirme için kullanılabilen bazı temel android kitaplıklarının özet ayrıntılarıdır.
- Ses ve video formatlarını oynatmak ve kaydetmek için medya kitaplığı.
- Ekran yönetimi sağlamak için Surface yöneticisi kitaplığı.
- 2D ve 3D grafikler için SGL ve OpenGL Graphics kitaplıkları.
- SQLite, veritabanı desteği ve FreeType yazı tipi desteği içindir.
- Web tarayıcı desteği için Web Kiti ve İnternet güvenliği için SSL.
Linux Kernel
Linux Çekirdeği, android mimarisinin bir alt katmanı ve kalbidir. Çalışma zamanı sırasında esas olarak android cihaz için gerekli olan ekran sürücüleri, kamera sürücüleri, Bluetooth sürücüleri, ses sürücüleri, bellek sürücüleri vb. tüm sürücüleri yönetir.
Linux Çekirdeği, aygıt donanımı ile yığının geri kalanı arasında bir soyutlama katmanı sağlayacaktır. Bellek yönetimi, güç yönetimi, cihaz yönetimi, kaynak erişimi vb. konulardan sorumludur.