Android Açık Kaynak Projesi (AOSP) herkesin kullanımına açıktır ve değiştirilebilir Android kaynak kodu. Herkes kendi cihazına AOSP'yi indirip değiştirebilir. sipariş başına ortalama öğe sayısı Android mobil uygulamasının eksiksiz ve eksiksiz bir şekilde uygulanmasını sağlar. platformu.
AOSP uygulayan cihazlar için iki uyumluluk düzeyi vardır: AOSP Android uyumluluğu da var. AOSP uyumlu cihazların Uyumluluk Tanımlama Belgesi (CDD). Android uyumlu cihaz, CDD'deki gereksinim listesine uygun olmalıdır ve Tedarikçi Yazılım Gereksinimleri (VSR) ile Tedarikçi Firma Test Paketi (VTS) ve Uyumluluk Test Paketi (CTS) Daha fazlası için için Android uyumluluk programı.
AOSP mimarisi
AOSP yazılım yığını aşağıdaki katmanları içerir:
Şekil 1. AOSP yazılım yığını mimarisi.
Şekil 1'de kullanılan terimlerin tanımları aşağıda verilmiştir:
- Android uygulaması
- Yalnızca Android API kullanılarak oluşturulmuş uygulamalar Google Play Store, Android uygulamalarını bulmak ve indirmek için yaygın olarak kullanılır. Bununla birlikte birçok farklı alternatif var. Bazı durumlarda, bir cihaz üreticisi Cihazın temel işlevini desteklemek için bir Android uygulamasını önceden yüklemek. Eğer ve uygulama geliştirmeyi düşünüyorsanız developers.android.com adresini ziyaret edin.
- Özel uygulama
- Android ve sistem API'lerinin kombinasyonu kullanılarak oluşturulmuş uygulamalar. Bu uygulamalar cihaza, ayrıcalıklı uygulamalar olarak önceden yüklenmiş olması gerekir.
- Cihaz üreticisi uygulaması
- Android API, sistem API ve doğrudan web sitesinin bir kombinasyonu kullanılarak oluşturulmuş uygulama Android çerçevesi uygulamasına erişebilir. Çünkü cihaz üreticisi Android çerçevesindeki kararsız API'lere doğrudan erişebilir. Bu uygulamalar Cihaza önceden yüklenmiş olmalıdır ve yalnızca cihaz sistem yazılımının güncellenmesi gerekir.
- Sistem API'sı
- System API, yalnızca iş ortaklarının erişebildiği Android API'lerini temsil eder. Paket halinde sunulan uygulamalara dahil edilecek OEM'ler. Bu API'ler @SystemApi olarak işaretlenmiştir ekleyin.
- Android API
- Android API, üçüncü taraf Android uygulaması için herkesin kullanımına açık API'dir birlikte çalışır. Android API hakkında bilgi için şuraya bakın: Android API referansı.
- Android çerçevesi
- Bir grup Java sınıfı, arayüzü ve diğer önceden derlenmiş kodu, nasıl oluşturulduğunu göstereceğim. Çerçevenin bazı bölümleri kullanımını gösterir. Çerçevenin diğer kısımları ise sistemi API'leri yoluyla yalnızca OEM'ler tarafından kullanılabilir. Android çerçeve kodunun bir uygulama işleminin içinde çalıştırılmasını sağlayın.
- Sistem hizmetleri
- Sistem hizmetleri;
system_server
, SurfaceFlinger ve MediaService. Android Framework API tarafından sunulan işlevler temel donanıma erişmek için sistem hizmetleriyle iletişim kurar. - Android çalışma zamanı (ART)
- AOSP tarafından sağlanan bir Java çalışma zamanı ortamı. ART, uygulamanın bayt kodunu işlemciye özgü talimatlara çevirmesi tarafından yürütülür.
- Donanım soyutlama katmanı (HAL)
- HAL, donanım tedarikçilerine yönelik standart bir arayüze sahip olan bir soyutlama katmanıdır pek çok yolu vardır. HAL'ler, Android'in düşük seviyeli sürücülerden bağımsız olmasını sağlar. hakkında bilgi edindiniz. HAL kullanmak, Üst seviyedeki sistemi etkileyen veya değiştiren. Daha fazla bilgi için HAL genel bakış sayfasını inceleyin.
- Yerel arka plan programları ve kitaplıklar
Bu katmandaki yerel arka plan programları şunları içerir:
init
,healthd
,logd
vestoraged
. Bu arka plan programları, çekirdekle veya diğer arayüzlerle doğrudan etkileşime girer. ve kullanıcı alanı tabanlı bir HAL uygulamasına bağlı değildir.Bu katmandaki yerel kitaplıklar arasında
libc
,liblog
,libutils
velibbinder
velibselinux
. Bu yerel kitaplıklar doğrudan çekirdek veya diğer arayüzler olmalı ve kullanıcı alanı tabanlı bir HAL'ye bazı ipuçları vereceğim.- Çekirdek
Çekirdek, herhangi bir işletim sisteminin merkezi parçasıdır ve bir donanımla korunur. Mümkün olduğunda AOSP çekirdeği bölünür ve tedarikçiye özgü modüllere ayırmanızı sağlar. Açıklama için AOSP çekirdek bileşenlerinin tanımlarını içeren Çekirdeğe genel bakış.
Sırada ne var?
- AOSP'yi kullanmaya yeni başladıysanız ve geliştirme işlemine başlamak istiyorsanız Başlarken bölümünde.
- AOSP'nin belirli bir katmanı hakkında daha fazla bilgi edinmek istiyorsanız adını tıklayın ve bu bölüme genel bakışla başlayın.