Android, farklı form faktörlerine sahip çok çeşitli cihazlar için bir işletim sistemidir. Android'in dokümanları ve kaynak kodu, Android Açık Kaynak Projesi (AOSP) olarak herkese açıktır. Kendi cihazlarınız için Android OS'in özel varyantlarını oluşturmak üzere AOSP'yi kullanabilirsiniz.
AOSP, sektördeki bir oyuncunun diğerinin yeniliklerini kısıtladığı veya kontrol ettiği merkezi bir arıza noktası olmayacak şekilde tasarlanmıştır. Bu nedenle AOSP, özelleştirme ve taşımaya açık kaynak koduna sahip, tam kapsamlı, üretim kalitesinde bir geliştirici ürünüdür.
Bu doküman bölümü, yeni AOSP geliştiricilerin platformu kullanmaya başlamasına ve temel geliştirme görevlerini gerçekleştirmesine yardımcı olur.
Zorunlu terimler
Aşağıda, Başlangıç Dokümanları'nda kullanılan terimlerin ve tanımların listesi verilmiştir. Devam etmeden önce her bir tanımı incelemeniz gerekir.
- Android uygulama geliştiricisi
Android uygulaması geliştiricileri, Android uygulamaları veya Android'de çalışan uygulamalar yazar. Uygulama geliştiriciler iki sınıfa ayrılır: birinci taraf (1. taraf) ve üçüncü taraf (3. taraf) uygulama geliştiriciler.
- Android birinci taraf uygulama geliştiricisi
- AOSP sistem API'lerine erişimi olan ve ayrıcalıklı ve cihaz üreticisi uygulamaları yazan bir Android uygulama geliştiricisi.
- Android üçüncü taraf uygulama geliştiricisi
- Android uygulamaları oluşturmak için yalnızca Android'in herkese açık SDK'sını kullanan bir Android uygulama geliştiricisi.
Android için üçüncü taraf uygulamalar geliştirmek istiyorsanız developers.android.com
bölümüne bakın. Bu web sitesindeki bilgiler yalnızca doğrudan AOSP ile çalışanlar içindir.
- Android hata ayıklama köprüsü (adb)
- İş istasyonunuzun sanal, yazılımla taklit edilen veya fiziksel bir cihazla iletişim kurmasına olanak tanıyan bir komut satırı aracı (
adb
). - Android uyumlu cihaz
- Android SDK'sını ve NDK'yı kullanarak üçüncü taraf geliştiriciler tarafından yazılan tüm üçüncü taraf uygulamalarını çalıştırabilen bir cihaz. Android uyumlu cihazlar, Uyumluluk Tanımlama Belgesi (CDD)'nin koşullarına uymalı ve Uyumluluk Test Paketi (CTS)'nden geçmelidir. Android uyumlu cihazlar, Android Play Store'un potansiyel lisansını, Google Mobil Hizmetleri (GMS) uygulama ve API paketinin potansiyel lisansını ve Android ticari markasının kullanımını içeren Android ekosistemine katılmaya uygundur. Android kaynak kodunu herkes kullanabilir ancak bir cihazın Android ekosisteminin bir parçası olarak kabul edilebilmesi için Android uyumlu olması gerekir. Uyumluluk ve CTS hakkında daha fazla bilgi için Android Uyumluluk Programı'na genel bakış başlıklı makaleyi inceleyin.
- Uyumluluk Tanımlama Belgesi (CDD)
- Android uyumlu bir cihazın yazılım ve donanım şartlarını belirten bir doküman.
- Katkıda bulunan
AOSP kaynak koduna katkıda bulunan kişi. Katkıda bulunanlar Google çalışanları, diğer şirketlerin çalışanları ve herhangi bir şirketle ilişkisi olmayan kişiler olabilir. Her AOSP katkıda bulunanı aynı araçları kullanır, aynı kod inceleme sürecini izler ve aynı kodlama stiline tabidir. AOSP'yi kullanmak için katkıda bulunan olmanız gerekmez. AOSP'yi indirebilir, kendi ihtiyaçlarınıza göre değiştirebilir ve başkalarının kullanabileceği kodlar eklemeden bir cihaza dağıtabilirsiniz.
Google'ın kabul ettiği kod katkısı türleriyle ilgili sınırlamalar vardır. Örneğin, tam C++ tabanlı bir ortam gibi alternatif bir uygulama API'si sunmak isteyebilirsiniz. Android, uygulamaların ART çalışma zamanında çalıştırılmasını teşvik ettiğinden Google bu katkıyı reddeder. Benzer şekilde Google, lisanslama hedefleriyle uyumlu olmayan GPL veya LGPL kitaplıkları gibi katkıları kabul etmez.
Kaynak kod katkısında bulunmak istiyorsanız çalışmaya başlamadan önce Google ile iletişime geçin.
- Uyumluluk Test Paketi (CTS)
AOSP'de ikili veya kaynak olarak indirilebilen, ticari sınıfa ait ücretsiz bir test paketi. CTS, günlük iş akışınıza entegre edilmek üzere tasarlanmış bir birim testi grubudur. CTS'nin amacı, uyumsuzlukları ortaya çıkarmak ve yazılımın geliştirme süreci boyunca uyumlu kalmasını sağlamaktır.
- Mürekkep balığı
Google Cloud Engine gibi üçüncü taraf bulut tekliflerini kullanarak uzaktan ve Linux x86 makinelerinde yerel olarak çalışabilen, Android destekli yapılandırılabilir bir sanal cihaz.
- Geliştirici
AOSP bağlamında geliştirici, AOSP ile herhangi bir şekilde çalışan herkestir. "Geliştirici" terimi, bu dokümanları okuyabilecek çeşitli kişileri (ör. özgün donanım üreticileri (OEM'ler), cep telefonu üreticileri, operatörler ve çip üzerinde sistem (SoC) geliştiricileri) genel olarak belirtmek için kullanılır.
- Google Mobil Hizmetleri (GMS)
Cihazlara önceden yüklenebilir Google uygulamaları ve API'leri koleksiyonu.
- Target
Cihazın belirli bir modeli veya form faktörü gibi bir permütasyonu. Örneğin,
aosp_cf_x86_64_phone-userdebug
, mürekkepbalığı emülatöründe çalışacak şekilde tasarlanmış hata ayıklama bilgilerine sahip bir x86 65 MB telefondur.
Yönetim felsefesi
Android, Google liderliğindeki Open Handset Alliance (OHA) olarak bilinen bir grup şirket tarafından geliştirilmiştir. Günümüzde hem OHA'nın orijinal üyeleri hem de diğer birçok şirket Android'e büyük yatırımlar yapıyor. Bu şirketler, Android'i iyileştirmek ve Android cihazları pazara sunmak için önemli mühendislik kaynakları ayırmıştır.
Android'e yatırım yapan şirketler, açık bir platformun gerekli olduğuna inandıkları için bunu yapmıştır. Android, açık kaynak bir çabadır (ücretsiz yazılımın aksine). Ortak ihtiyaçları olan bir grup kuruluş, ortak bir ürünün tek bir uygulaması üzerinde ortak çalışmak için kaynaklarını birleştirmiştir. Android felsefesinin en önemli özelliği gerçekçi olmasıdır. Hedef, her katkıda bulunanın özelleştirebileceği paylaşılan bir üründür.
Elbette kontrolsüz özelleştirme, uyumlu olmayan uygulamalara yol açabilir. Android Açık Kaynak Projesi (AOSP), uyumsuzluğu önlemek için Android Uyumluluk Programı'nı yönetir. Bu programda, Android uyumlu olmanın ne anlama geldiği ve cihaz üreticilerinin bu statüye ulaşmak için ne yapması gerektiği açıklanır. Android kaynak kodunu herkes herhangi bir amaç için kullanabilir. Google, tüm meşru kullanımları memnuniyetle karşılar. Ancak OHA üyelerinin Android'e yönelik geliştirdiği uygulamaların ortak ekosistemine katılmak için cihaz üreticilerinin Android Uyumluluk programına katılması gerekir.
AOSP, Android'i yönetip geliştiren Google tarafından yönetilir. Android birden fazla alt projeden oluşsa da AOSP tamamen proje yönetimidir. Google, Android'i bir dağıtım, spesifikasyon veya değiştirilebilir parçalar koleksiyonu olarak değil, tek ve bütünsel bir yazılım ürünü olarak görür ve yönetir. Google'ın amacı, cihaz üreticilerinin Android'i bir cihaza taşıması, spesifikasyon uygulamaması veya dağıtım düzenlememesidir.
Sırada ne var?
AOSP'te yeniyseniz ve AOSP geliştirmeyle ilgili bir eğitimden geçmek istiyorsanız AOSP eğitimi başlıklı makaleyi inceleyin.
Cihazınızın Android ile uyumlu olması gerektiğini düşünüyorsanız Android Uyumluluk Programı'na bakın.
Google'ın platforma katılımı da dahil olmak üzere AOSP'nin geçmişi hakkında bilgi edinmek istiyorsanız AOSP hakkında sık sorulan sorular başlıklı makaleyi inceleyin.