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 sunulur. Kendi cihazlarınız için Android OS'in ö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 kaynak kodu açık olan, 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 şartlar

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ı makaleye bakın. 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ımlama Belgesi (CDD) şartlarına uymalı ve Compatibility Test Suite (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 indirip 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. Google, Android uygulamaların ART çalışma zamanında çalıştırılmasını teşvik ettiğinden 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.

Compatibility Test Suite (CTS)

İkili program olarak veya AOSP'de kaynak olarak indirilebilen ücretsiz, ticari düzeyde bir test paketi. CTS, günlük iş akışınıza entegre edilecek şekilde tasarlanmış birim testleri kümesidir. 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 Android destekli cihaz.

Developer

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. Günümüzde, OHA'nın ilk üyeleri ve diğerleri olmak üzere 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 felsefesinin en önemli özelliği pragmatik olmasıdır. 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ürmektedir. Bu program, Android uyumlu olmanın ne anlama geldiğini ve bu durumu elde etmek için cihaz üreticilerinin neler yapması gerektiğini açıklar. Android kaynak kodu herkes tarafından herhangi bir amaçla kullanılabilir ve Google, tüm meşru kullanımları memnuniyetle karşılar. Ancak OHA üyelerinin Android etrafında oluşturduğu ortak uygulama ekosistemine katılmak için cihaz üreticilerinin Android Uyumluluk Programı'na katılması gerekir.

AOSP, Android'i koruyup geliştiren Google tarafından yönetilir. Android birden fazla alt projeden oluşsa da AOSP kesinlikle proje yönetimiyle ilgilidir. Google, Android'i 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 üreticilerin Android'i bir cihaza taşımasıdır. Bu üreticiler, 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.