AOSP'ye genel bakış

Android, farklı form faktörlerine sahip çeşitli cihazlar için bir işletim sistemidir. Android'in dokümanları ve kaynak kodu, Android Açık Kaynak Projesi (AOSP) kapsamında herkesin kullanımına sunulmuştur. Kendi cihazlarınız için Android OS'nin özel varyantlarını oluşturmak üzere AOSP'yi kullanabilirsiniz.

AOSP, bir sektör oyuncusunun diğerinin yeniliklerini kısıtladığı veya kontrol ettiği merkezi bir hata noktası olmayacak şekilde tasarlanmıştır. Bu nedenle AOSP, özelleştirme ve taşıma için açık kaynak kodlu, tam ve üretim kalitesinde bir geliştirici ürünüdür.

Dokümanların bu bölümü, yeni AOSP geliştiricilerinin platformu kullanmaya başlamasına ve temel geliştirme görevlerini gerçekleştirmesine yardımcı olur.

Gerekli terimler

Başlangıç kılavuzu belgelerinde kullanılan terimlerin ve tanımların listesini aşağıda bulabilirsiniz. Devam etmeden önce her tanımı incelemeniz gerekir.

Android uygulama geliştiricisi

Android uygulaması geliştiricileri, Android'de çalışan Android uygulamaları veya uygulamalar yazar. İki tür uygulama geliştirici vardır: birinci taraf (1p) ve üçüncü taraf (3p) uygulama geliştiriciler.

Android birinci taraf uygulama geliştiricisi
AOSP Sistem API'lerine erişimi olan ve ayrıcalıklı uygulamalar ile 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 developer.android.com başlıklı makaleyi inceleyin. Bu web sitesindeki bilgiler yalnızca doğrudan AOSP ile çalışanlar içindir.

Android Debug Bridge (adb)
İş istasyonunuzun sanal, yazılımla emüle edilmiş veya fiziksel bir cihazla iletişim kurmasına olanak tanıyan bir komut satırı aracı (adb).
Android ile uyumlu cihaz
Android SDK ve NDK kullanılarak üçüncü taraf geliştiriciler tarafından yazılan tüm üçüncü taraf uygulamalarını çalıştırabilen bir cihaz. Android uyumlu cihazlar, Uyumluluk Tanımı Belgesi (CDD) şartlarına uymalı ve Uyumluluk Test Paketi (CTS)'ni geçmelidir. Android ile uyumlu cihazlar, Android Play Store'un potansiyel lisanslanması, Google Mobil Hizmetleri (GMS) uygulama ve API paketinin potansiyel lisanslanması ve Android ticari markasının kullanımı dahil olmak üzere Android ekosistemine katılmaya uygundur. Android kaynak kodunu herkes kullanabilir ancak bir cihazın Android ekosisteminin parçası olarak kabul edilmesi için Android ile 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ımı Belgesi (CDD)
Android ile uyumlu bir cihazın yazılım ve donanım gereksinimlerini listeleyen bir belge.
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 şirkete bağlı olmayan kişiler olabilir. Her AOSP katılımcısı aynı araçları kullanır, aynı kod inceleme sürecini izler ve aynı kodlama stiline tabidir. AOSP'yi kullanmak için katkıda bulunmanız gerekmez. AOSP'yi indirebilir, kendi ihtiyaçlarınıza göre değiştirebilir ve başkalarının kullanması için kod katkısında bulunmadan bir cihaza dağıtabilirsiniz.

Google'ın kabul ettiği kod katkılarının türüyle ilgili sınırlamalar vardır. Örneğin, tam C++ tabanlı bir ortam gibi alternatif bir uygulama API'si göndermek 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 kodu katkısında bulunmak istiyorsanız çalışmaya başlamadan önce Google ile iletişime geçin.

Uyumluluk Test Paketi (CTS)

İkili dosya olarak veya AOSP'de kaynak olarak indirilebilen ücretsiz, ticari düzeyde bir test paketi. CTS, günlük iş akışınıza entegre edilmek üzere tasarlanmış bir dizi birim testidir. CTS'nin amacı, uyumsuzlukları ortaya çıkarmak ve yazılımın geliştirme süreci boyunca uyumlu kalmasını sağlamaktır.

Cuttlefish

Google Cloud Engine gibi üçüncü taraf bulut teklifleri kullanılarak uzaktan ve Linux x86 makinelerde yerel olarak çalıştırılabilen, yapılandırılabilir sanal bir Android destekli cihaz.

Geliştirici

AOSP bağlamında geliştirici, AOSP ile herhangi bir şekilde çalışan herkesi ifade eder. "Geliştirici" terimi, bu dokümanı okuyabilecek çeşitli kişileri (ör. özgün donanım üreticileri (OEM'ler), cep telefonu üreticileri, operatörler ve çip üzerinde sistem (SoC) üreticileri) genel olarak ifade etmek için kullanılır.

Google Mobil Hizmetleri (GMS)

Cihazlara önceden yüklenebilen Google uygulamaları ve API'leri koleksiyonu.

Target

Belirli bir model veya form faktörü gibi bir cihaz permütasyonu. Örneğin, aosp_cf_x86_64_only_phone-userdebug, cuttlefish emülatöründe çalışmak üzere tasarlanmış hata ayıklama bilgilerine sahip 65 MB'lık bir x86 telefonu temsil eder.

Yönetim felsefesi

Android, Google'ın liderliğinde Open Handset Alliance (OHA) olarak bilinen bir grup şirket tarafından geliştirilmiştir. Bugün hem OHA'nın ilk üyeleri hem de diğer birçok şirket Android'e büyük yatırımlar yaptı. Bu şirketler, Android'i iyileştirmek ve Android cihazları piyasaya sürmek için önemli mühendislik kaynakları ayırdı.

Android'e yatırım yapan şirketler, açık bir platformun gerekli olduğuna inandıkları için bu yatırımı yapmıştır. Android, kasıtlı ve açık bir şekilde açık kaynaklı bir çalışmadır (ücretsiz yazılımların aksine). Ortak ihtiyaçları olan bir grup kuruluş, ortak bir ürünün tek bir uygulaması üzerinde işbirliği yapmak için kaynaklarını bir araya getirmiştir. Android felsefesi öncelikle pragmatiktir. Hedef, her katılımcının uyarlayıp özelleştirebileceği ortak bir üründür.

Elbette, kontrolsüz özelleştirme uyumsuz uygulamalara yol açabilir. Android Açık Kaynak Projesi (AOSP), uyumsuzluğu önlemek için Android Uyumluluk Programı'nı sürdürür. Bu program, Android uyumlu olmanın ne anlama geldiğini ve bu durumu elde etmek için cihaz üreticilerinin ne yapması gerektiğini açıklar. Android kaynak kodu herkes tarafından herhangi bir amaçla kullanılabilir ve Google, tüm yasal kullanımları memnuniyetle karşılar. Ancak OHA üyelerinin Android etrafında oluşturduğu paylaşılan uygulama ekosistemine katılmak için cihaz üreticilerinin Android Uyumluluk Programı'na katılması gerekir.

Android'i koruyup geliştiren Google, AOSP'nin liderliğini üstlenir. Android birden fazla alt projeden oluşsa da AOSP kesinlikle proje yönetimiyle ilgilidir. Google, Android'i değiştirilebilir parçaların dağıtımı, spesifikasyonu veya 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 üreticilerin Android'i bir cihaza taşımasıdır. Bu kişiler, bir spesifikasyonu uygulamaz veya dağıtımı yönetmez.

Sırada ne var?

  • AOSP'yi yeni kullanmaya başladıysanız ve AOSP geliştirme hakkında bir eğitim almak istiyorsanız AOSP eğitimine geçin.

  • 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 ile ilgili sık sorulan sorular başlıklı makaleyi inceleyin.