Google, Siyah topluluklar için ırksal eşitliği ilerletmeye kararlıdır. Nasıl olduğunu gör.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Android Yazılım Yönetimi

Android Açık Kaynak Projesi (AOSP), OEM'ler ve diğer cihaz uygulayıcıları tarafından taşınacak ve kendi donanımlarında çalışacak eksiksiz bir yazılım yığını tutar. Android'in kalitesini korumak için Google, tam zamanlı mühendislere, ürün yöneticilerine, kullanıcı arayüzü tasarımcılarına, kalite güvence test cihazlarına ve modern cihazları pazara sunmak için gereken diğer tüm rollere katkıda bulundu.

Buna göre, Android'in mevcut kararlı sürümünü kararsız deneysel çalışmalardan açıkça ayırmak için bir dizi kod dizisini koruyoruz. Android kodeklerinin açık kaynak yönetimi ve bakımını daha geniş ürün geliştirme döngüsüne dönüştürüyoruz.

AOSP kod yönetimi

Aşağıdaki grafik AOSP kod yönetimi ve sürümlerinin arkasındaki kavramları göstermektedir.

kod çizgisi diyagramı
Şekil 1. AOSP kodu ve sürümleri
  1. Herhangi bir anda, Android platformunun en son sürümü var. Bu genellikle ağaçtaki bir dal şeklini alır.
  2. Cihaz üreticileri ve katkıda bulunanlar, mevcut en son sürümle çalışır, hataları düzeltir, yeni cihazlar başlatır, yeni özelliklerle denemeler yapar vb.
  3. Buna paralel olarak Google, ürünün ihtiyaçlarına ve hedeflerine göre Android platformunun ve çerçevesinin bir sonraki sürümünde dahili olarak çalışır. Android'in bir sonraki sürümünü, özellikleri Android'i gitmesi gerektiğine inandığımız yönde itmek için seçilen bir amiral gemisi cihazında bir cihaz ortağıyla çalışarak geliştiriyoruz.
  4. N + 1 sürümü hazır olduğunda, genel kaynak ağacında yayınlanır ve en yeni sürüm olur.

Terimler ve uyarılar

  • Bir sürüm , Android platformunun 1.5 veya 8.1 gibi resmi bir sürümüne karşılık gelir. Platformun bir sürümü, AndroidManifest.xml dosyalarının SdkVersion alanındaki sürüme karşılık gelir ve kaynak ağacındaki frameworks/base/api içinde tanımlanır.
  • Akış yukarı bir proje, Android yığınının kod aldığı açık kaynaklı bir projedir. Linux çekirdeği ve WebKit gibi projelere ek olarak, ART, Android SDK araçları ve Bionic gibi yarı özerk Android projelerini yukarı akış projeleri olarak taşımaya devam ediyoruz. Genel olarak, bu projeler tamamen kamusal ağaçta geliştirilir. Bazı yukarı akış projeleri için, geliştiriciler doğrudan yukarı akış projesine katkıda bulunur. Ayrıntılar için Yukarı Akış projeleri bölümüne bakın. Her iki durumda da, anlık görüntüler periyodik olarak sürümlere çekilir.
  • Her zaman, bir sürüm kodlaması (git'te birden fazla daldan oluşabilir) belirli bir Android platformu sürümü için tek kanonik kaynak kodu olarak kabul edilir. OEM'ler ve diğer grup oluşturma cihazları yalnızca bir serbest bırakma kolundan çekilmelidir.
  • Denemeye yönelik bir gözle yinelenebilmeleri için topluluktaki değişiklikleri yakalamak için deneysel kod dizileri oluşturulur.
  • Kararlı olduğu kanıtlanan değişiklikler sonunda bir serbest bırakma dalına çekilir. Bu yalnızca hata düzeltmeleri, uygulama geliştirmeleri ve platformun API'larını etkilemeyen diğer değişiklikler için geçerlidir.
  • Değişiklikler gerektiği gibi yukarı akış projelerinden (Android yukarı akış projeleri dahil) serbest bırakma dallarına çekilir.
  • N + 1 sürümü (çerçeve ve platform API'lerinin bir sonraki ana sürümü) Google tarafından dahili olarak geliştirilmiştir. Ayrıntılar için, bkz. Özel kod dizileri .
  • Değişiklikler, akış yukarı, sürüm ve deneysel şubelerden gerektiğinde Google'ın özel şubesine çekilir.
  • Bir sonraki sürümün platform API'leri sabitlendiğinde ve tamamen test edildiğinde, Google bir sonraki platform sürümünün (özellikle yeni bir SdkVersion ) bir sürümünü keser. Bu, halka açık bir şube haline getirilen dahili kodelin ve yeni mevcut platform kod çizgisinin karşılığıdır.
  • Yeni bir platform sürümü kesildiğinde, aynı anda ilgili bir deneysel kod-kodu oluşturulur.

Özel kod dizileri

Yukarıdaki kaynak yönetimi stratejisi, Google'ın dikkati Android'in mevcut genel sürümüne odaklamak için gizli tuttuğu bir kod çizgisi içerir.

OEM'ler ve diğer cihaz üreticileri doğal olarak Android'in en son sürümüne sahip cihazlar göndermek istiyor. Benzer şekilde, uygulama geliştiricileri gerekenden daha fazla platform sürümü ile uğraşmak istemiyorlar. Bu arada Google, bir platform ve ürün olarak Android'in stratejik yönüne ilişkin sorumluluğu elinde tutar. Yaklaşımımız, Android ile ilgili fikri mülkiyetin korunmasını sağlarken, özellikleri sürmek için az sayıda amiral gemisi cihazına odaklanıyor.

Sonuç olarak, Google genellikle üçüncü taraflardan gizli bilgilere sahiptir ve uygun korumaları güvenceye kadar hassas özellikleri açıklamaktan kaçınmalıdır. Ayrıca, aynı anda çok fazla platform sürümü mevcutsa, platform için gerçek riskler vardır. Bu nedenlerle, açık kaynak projesini (üçüncü taraf katkıları dahil) şu anda Android'in genel kararlı sürümüne odaklanacak şekilde yapılandırdık. Platformun bir sonraki sürümünde derin gelişim, resmi bir sürüm olmaya hazır olana kadar özel olarak gerçekleşir.

Katkıda bulunanların çoğunun bu yaklaşıma katılmadıklarının farkındayız ve bakış açılarına saygı duyuyoruz. Bununla birlikte, bu en iyi olduğunu düşündüğümüz yaklaşım ve Android için uygulamayı seçtiğimiz yaklaşım.