Bu dokümanda, Android Open Source Platform (AOSP) ile ilgili genel soruların yanıtları yer almaktadır.
android-latest-release hakkında
Why can't I submit to aosp-main?
Bu şube artık salt okunur olduğu için aosp-main
'e gönderemezsiniz.
AOSP'de değişiklik önerilerini nereye göndermeliyim?
android-latest-release
(Repo kullanırken) veya android-latest-release
manifest dosyasında belirtilen en son sürüm dalında (doğrudan Git kullanırken) yeni değişiklikler önermeniz gerekir. Diğer şubelerde önerilen mevcut değişikliklerin (aosp-main
gibi) taşınması gerekmez.
Hangi şubeyle senkronize etmeliyim?
Repo'yu kullanırken aşağıdaki komutu kullanarak
android-latest-release
ile senkronize edin:repo init --partial-clone --no-use-superproject -b android-latest-release -u https://android.googlesource.com/platform/manifest
Doğrudan Git'i kullanıyorsanız
android-latest-release
manifest dosyasında belirtilen varsayılan düzeltme dalıyla senkronize edin.
Dallar senkronizasyonu hakkında daha fazla bilgi için Repo istemcisini başlatma başlıklı makaleyi inceleyin.
android-latest-release kaynak kodları aosp-main ile birleştirilecek mi?
Hayır, kod 27 Mart 2025'ten itibaren salt okunur bir dal olan aosp-main
ile birleştirilmez.
Bir sonraki sürümün kodu nereye gönderilir?
Google, bir sonraki sürümün kodunu herkese açık en son sürüm dalına gönderir ve android-latest-release
manifestini bu dalı işaret edecek şekilde günceller.
Değişiklik isteğim, android-latest-release dalından dahili Gerrit'e alınıyor mu?
Önerilen bir değişikliği yükledikten sonra Google bu değişikliği inceler ve kabul edilirse dahili Gerrit'e seçerek ekler.
Değişiklik isteğimin kabul edilip edilmediğini nasıl öğrenebilirim?
Kabul edilen ve seçilen değişiklikler, Android ana makinesindeki bir sürüm dalına yapılacak sonraki bir gönderimde görünür ve android-latest-release
kullanılarak depoyla senkronize edilebilir.
Önerilen bir değişikliğin kabul edildiği veya reddedildiğine dair bir bildirim mekanizması yoktur.
Bir değişikliğin harici bir katkıda bulunan tarafından önerildiği andan en son sürüm dalına birleştirildiği ana kadar genel iş akışı nedir?
Harici bir katkıda bulunan,
android-latest-release
'te (Repo kullanıldığında) veyaandroid-latest-release
manifest dosyasında belirtilen en son sürüm dalında (doğrudan Git kullanıldığında) bir değişiklik önerir.Google, değişikliği inceler. Değişiklik:
Kabul edildiyse Google bu değişikliği seçip dahili geliştirme dalına birleştirir.
Kabul edilmedi. Google, değişikliği seçip seçmez.
Kuruluş dışındaki katkıda bulunan kullanıcı,
android-latest-release
'de değişikliği kontrol eder.
Önerdiğim değişikliğin artık gerekli olmadığını fark edersem ne olur?
Önerdiğiniz değişikliği artık kullanmıyorsanız, değişikliğin birleştirilmesini istemiyorsanız veya Google'ın değişikliği zaten incelediğini biliyorsanız Android ana makinesindeki önerilen değişiklik geçmişinde kalması için değişikliği iptal edin.
Açık kaynak sorular
Google, Android kaynak kodunu neden herkese açtı?
Google, mobil uygulama yayınlama deneyimlerimizden yola çıkarak AOSP'yi başlattı. Operatörlerin, OEM'lerin ve geliştiricilerin yenilikçi fikirlerini hayata geçirmek için kullanabilecekleri her zaman açık bir platform olmasını istedik. Ayrıca, tek bir sektör oyuncusunun diğerlerinin yeniliklerini kısıtlayamayacağı veya kontrol edemeyeceği şekilde merkezi bir arıza noktasından kaçınmak istedik. AOSP ile ilgili en önemli hedefimiz, açık kaynaklı Android yazılımının herkesin yararına olacak şekilde olabildiğince geniş kapsamlı ve uyumlu bir şekilde uygulanmasını sağlamaktır.
Android ne tür bir açık kaynak projesidir?
Google, temel AOSP'nin geliştirilmesini yönetir ve güçlü geliştirici ve kullanıcı toplulukları oluşturmak için çalışır. Android kaynak kodu, çoğunlukla copyleft lisansı yerine izin verici Apache Lisansı 2.0 ile lisanslanmıştır. Android yazılımlarının yaygın olarak kullanılmasını teşvik ettiğine inandığımız için Apache 2.0 lisansını seçtik. Ayrıntılar için Lisanslar başlıklı makaleyi inceleyin.
Android'den neden Google sorumlu?
Yazılım platformu başlatmak karmaşık bir süreçtir. Açıklık, geliştiricilerin yatırımlarını çekmesi ve eşit şartlarda rekabet ortamı sağlaması nedeniyle bir platformun uzun vadeli başarısı için hayati önem taşır. Platform, kullanıcılar için ilgi çekici bir ürün olmalıdır.
Google, Android'in tamamen rekabetçi bir yazılım platformu olmasını sağlamak için gerekli profesyonel mühendislik kaynaklarını sağlamıştır. Google, Android projesini tam kapsamlı bir ürün geliştirme çalışması olarak ele alır ve Android işletim sistemini kullanan harika cihazların pazara çıkmasını sağlamak için gerekli iş anlaşmalarını yapar.
Android'in kullanıcılar arasında başarılı olmasını sağlayarak Android'in hem platform hem de açık kaynak projesi olarak canlılığını korumasına yardımcı oluruz. Sonuçta, başarısız bir ürünün kaynak kodunu kim ister?
Hedefimiz, Android'de başarılı bir ekosistem oluşturmaktır. Android kaynak kodunu, herkesin kendi ihtiyaçlarına göre yazılımı değiştirip dağıtabilmesi için açık kaynak haline getirdik.
Google'ın Android ürün geliştirmeyle ilgili genel stratejisi nedir?
Rekabetçi bir pazarda mükemmel cihazlar sunuyoruz. Ardından, yaptığımız yenilikleri ve iyileştirmeleri bir sonraki sürüm olarak temel platforma dahil ederiz.
Pratikte bu, Android mühendislik ekibinin az sayıda "amiral gemisi" cihaza odaklandığı ve bu ürün lansmanlarını desteklemek için Android yazılımının bir sonraki sürümünü geliştirdiği anlamına gelir. Bu amiral gemisi cihazlar, ürün riskinin büyük bir kısmını üstlenir ve yeni özelliklerden yararlanan daha fazla cihazla takip eden geniş OEM topluluğu için bir yol açar. Bu sayede Android platformunun gerçek dünyadaki cihazların ihtiyaçlarına göre geliştiğinden emin oluruz.
Android yazılımı nasıl geliştirilir?
Android'in her platform sürümünün (ör. 1.5 veya 8.1) açık kaynak ağacında karşılık gelen bir dalı vardır. En son şube, android-latest-release
manifest dosyasının işaret ettiği mevcut kararlı şube sürümü olarak kabul edilir.
Bu, üreticilerin cihazlarına aktardığı daldır. Bu dal, her zaman yayına uygun olacak şekilde tutulur.
Son olarak Google, bir amiral gemisi cihaz geliştirmenin yanı sıra Android platformunun sonraki sürümünü de geliştirir.
Android'in bazı bölümleri neden gizli olarak geliştirilir?
Bir cihazın piyasaya sürülmesi genellikle bir yıldan uzun sürer. Elbette cihaz üreticileri de mümkün olan en güncel yazılımı sunmak ister. Geliştiriciler ise uygulama yazarken platformun yeni sürümlerini sürekli olarak takip etmek istemez. Her iki grup da ürünleri gönderme ve geride kalmamak arasında bir gerginlik yaşıyor.
Bu sorunu gidermek için, temel platform API'leri de dahil olmak üzere Android'in sonraki sürümünün bazı bölümleri özel bir dalda geliştirilir. Bu API'ler Android'in sonraki sürümünü oluşturur. Amacımız, platformun bir sonraki sürümünü oluştururken Android kaynak kodunun mevcut kararlı sürümüne odaklanmaktır. Bu sayede geliştiriciler ve OEM'ler, güncel kalmak için henüz tamamlanmamış gelecekteki çalışmaları takip etmek zorunda kalmadan tek bir sürümü kullanabilir.
Kaynak kodları ne zaman yayınlanır?
Hazır olduğunda. Kaynak kodunu yayınlamak oldukça karmaşık bir süreçtir. Android'in çekirdek gibi bazı bölümleri açık olarak geliştirilir ve bu kaynak kodları her zaman kullanılabilir. Diğer parçalar önce özel bir ağaçta geliştirilir ve bu kaynak kod, sonraki platform sürümü hazır olduğunda yayınlanır.
Bazı sürümlerde, cihazın yayınlanmasından önce erken bir inceleme için kaynak kodu yayınlayabilmemiz amacıyla temel platform API'leri çok daha önceden hazır olur. Diğer sürümlerde bu mümkün değildir. Platform kaynağını, sürümün kararlı olduğunu düşündüğümüzde ve geliştirme süreci izin verdiğinde her durumda yayınlarız.
Yeni bir Android sürümünün kaynak kodunu yayınlamak ne anlama gelir?
Android platformunun yeni bir sürümünün kaynak kodunu yayınlamak önemli bir süreçtir. Öncelikle yazılım, bir cihazın sistem resmine yerleştirilir ve telefonların dağıtılacağı bölgeler için resmi yasal sertifika da dahil olmak üzere çeşitli sertifika türlerinden geçer. Kod, operatör testinden de geçer. Bu, yazılım hatalarını tespit etmeye yardımcı olduğu için sürecin önemli bir aşamasıdır.
Sürüm, düzenleyiciler ve operatörler tarafından onaylandığında üretici cihazları seri olarak üretmeye başlar ve biz de kaynak kodunu yayınlamaya başlarız.
Google ekibi, seri üretimle eş zamanlı olarak açık kaynak sürümü hazırlamak için çeşitli çalışmalara başlar. Bu çalışmalar arasında nihai API değişikliklerini yapma, dokümanları güncelleme (ör. uygunluk testi sırasında yapılan tüm değişiklikleri yansıtacak şekilde), yeni sürüm için bir SDK hazırlama ve platform uyumluluk bilgilerini kullanıma sunma yer alır.
Yasal ekibimiz, kodu açık kaynak olarak yayınlamak için son onayı verir. Açık kaynak katkıda bulunanların, katkılarının fikri mülkiyet sahibi olduklarını onaylayan bir Katkıda Bulunanlar Lisans Sözleşmesi imzalaması gerektiği gibi Google'ın da kaynağın katkıda bulunmaya uygun olduğunu doğrulaması gerekir.
Seri üretim başladığı andan itibaren yazılım yayınlama süreci genellikle yaklaşık bir ay sürer. Bu nedenle, kaynak kodu yayınlama işlemi genellikle cihazların kullanıcılara ulaştığı tarihle aynı zamana denk gelir.
AOSP, Android Uyumluluk Programı ile nasıl ilişkilidir?
AOSP, Android yazılımını korur ve yeni sürümler geliştirir. Açık kaynak olduğundan bu yazılım, aynı kaynağa dayalı diğer cihazlarla uyumlu olmayan cihazlar geliştirmek de dahil olmak üzere her amaç için kullanılabilir.
Android Uyumluluk Programı'nın işlevi, geliştiriciler tarafından yazılan üçüncü taraf uygulamalarıyla uyumlu bir Android temel uygulamasını tanımlamaktır. Android uyumlu cihazlar Google Play dahil olmak üzere Android ekosistemine katılmaya uygundur. Uyumluluk koşullarını karşılamayan cihazlar bu ekosistemin dışındadır.
Diğer bir deyişle, Android Uyumluluk Programı, Android uyumlu cihazları yalnızca kaynak kodun türevlerini çalıştıran cihazlardan ayırma yöntemimizdir. Android kaynak kodunun tüm kullanımlarını memnuniyetle karşılıyoruz. Ancak Android ekosistemine katılmak için cihazın program tarafından Android uyumlu olarak tanımlanması gerekir.
Android'e nasıl katkıda bulunabilirim?
Hataları bildirebilir, Android için uygulama yazabilir veya AOSP'ye kaynak kod katkısında bulunabilirsiniz.
Kabul ettiğimiz kod katkısı türleri sınırlıdır. Örneğin, bir kullanıcı alternatif bir uygulama API'si (ör. tam C++ tabanlı bir ortam) katkıda bulunmak isteyebilir. Android, uygulamaların ART çalışma zamanında çalıştırılmasını teşvik ettiğinden bu katkıyı reddederiz. Benzer şekilde, lisanslama hedeflerimizle uyumlu olmayan GPL veya LGPL kitaplıkları gibi katkıları kabul etmeyeceğiz.
Kaynak koduyla katkıda bulunmak isteyenlerin, herhangi bir çalışmaya başlamadan önce Android Topluluğu'nda listelenen kanallar üzerinden bizimle iletişime geçmelerini öneririz. Ayrıntılar için Katkıda bulunma başlıklı makaleyi inceleyin.
How do I become an Android committer?
AOSP'de commit yapan kişi kavramı yoktur. Tüm katkılar (Google çalışanları tarafından yazılanlar dahil) Android mühendislik sürecinin bir parçası olan Gerrit adlı web tabanlı bir sistemden geçer. Bu sistem, kaynak kod katkılarını düzgün bir şekilde yönetmek için Git kaynak kodu yönetim sistemiyle birlikte çalışır.
Belirlenen bir onaylayıcının, önerilen tüm değişiklikleri incelemesi ve kabul etmesi gerekir. Onaylayanlar genellikle Google çalışanlarıdır ancak aynı onaylayanlar, kaynağına bakılmaksızın tüm gönderimler için sorumludur.
Ayrıntılar için Yama gönderme başlıklı makaleyi inceleyin.