Bu sayfa, bazı sık sorulan soruların (SSS) yanıtlarını sağlar.
Açık kaynak
Android Açık Kaynak Projesi nedir?
Android Açık Kaynak Projesi (AOSP), Android'i oluşturan kişileri, süreçleri ve kaynak kodunu ifade eder.
İnsanlar projeyi denetler ve kaynak kodunu geliştirir. Süreçler, yazılımın geliştirilmesini yönetmek için kullandığımız araçlar ve prosedürlerdir. Net sonuç, cep telefonlarında ve diğer cihazlarda kullanabileceğiniz kaynak kodudur.
Android kaynak kodunu neden açtık?
Google, mobil uygulamaları başlatma konusundaki deneyimlerimize yanıt olarak Android projesini başlattı. Taşıyıcıların, OEM'lerin ve geliştiricilerin yenilikçi fikirlerini gerçeğe dönüştürmek için kullanabilecekleri her zaman açık bir platform olacağından emin olmak istedik. Ayrıca, herhangi bir merkezi başarısızlık noktasından kaçınmak istedik, böylece tek bir sektör oyuncusu diğerlerinin yeniliklerini kısıtlayamaz veya kontrol edemez. AOSP ile tek ve en önemli hedefimiz, açık kaynaklı Android yazılımının herkesin yararına olacak şekilde mümkün olduğunca geniş ve uyumlu bir şekilde uygulanmasını sağlamaktır.
Android ne tür bir açık kaynak projesidir?
Google, temel Android açık kaynak platformunun gelişimini denetler ve sağlam geliştirici ve kullanıcı toplulukları oluşturmak için çalışır. Çoğunlukla, Android kaynak kodu bir copyleft lisansı yerine izin verilen Apache Lisansı 2.0 altında lisanslanmıştır. Apache 2.0 lisansını, Android yazılımlarının yaygın olarak benimsenmesini teşvik ettiğine inandığımız için seçtik. Ayrıntılar için Lisanslar bölümüne bakın.
Google neden Android'den sorumlu?
Bir yazılım platformunun başlatılması karmaşıktır. Açıklık, bir platformun uzun vadeli başarısı için hayati önem taşır, çünkü açıklık geliştiricilerin yatırımını çeker ve eşit bir oyun alanı sağlar. Platform ayrıca kullanıcılar için ç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ı taahhüt etmiştir. Google, Android projesini tam ölçekli bir ürün geliştirme operasyonu olarak ele alıyor ve Android çalıştıran harika cihazların piyasaya sürülmesini sağlamak için gerekli iş anlaşmalarını yapıyor.
Android'in kullanıcılar açısından başarılı olmasını sağlayarak, bir platform ve açık kaynak projesi olarak Android'in canlılığını sağlamaya yardımcı oluyoruz. Sonuçta, kim başarısız bir ürünün kaynak kodunu ister?
Google'ın amacı, Android çevresinde başarılı bir ekosistem sağlamaktır. Android kaynak kodunu açtık, böylece herkes yazılımı kendi ihtiyaçlarını karşılayacak şekilde değiştirebilir ve dağıtabilir.
Google'ın Android ürün geliştirme için genel stratejisi nedir?
Harika cihazları rekabetçi bir pazara sunuyoruz. Ardından, yaptığımız yenilikleri ve geliştirmeleri bir sonraki sürüm olarak çekirdek platforma dahil ediyoruz.
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 çoğunu emer ve yeni özelliklerden yararlanan daha fazla cihazı takip eden geniş OEM topluluğu için bir çığır açar. Bu şekilde, Android platformunun gerçek dünyadaki cihazların ihtiyaçlarına göre gelişmesini sağlıyoruz.
Android yazılımı nasıl geliştirilir?
Android'in her platform sürümünün (1.5 veya 8.1 gibi) açık kaynak ağacında karşılık gelen bir dalı vardır. En son dal, mevcut kararlı dal versiyonu olarak kabul edilir. Bu, üreticilerin cihazlarına taşıdıkları daldır. Bu dal her zaman serbest bırakılmaya uygun tutulur.
Aynı zamanda, büyük yeni nesil özellikler gibi spekülatif katkıların geliştirildiği mevcut bir deneysel dal var. Hata düzeltmeleri ve diğer katkılar, uygun şekilde deneysel daldan mevcut kararlı dalına dahil edilebilir.
Son olarak Google, amiral gemisi bir cihaz geliştirmekle birlikte Android platformunun bir sonraki sürümü üzerinde çalışıyor. Bu dal, uygun olduğu şekilde deneysel ve kararlı dallardan değişiklikleri çeker.
Kod hatları, dallar ve sürümler hakkında ayrıntılar için bkz. AOSP kod yönetimi .
Android'in bazı bölümleri neden özel olarak geliştirilir?
Bir cihazı piyasaya sürmek genellikle bir yıldan fazla sürer. Ve elbette, cihaz üreticileri ellerinden gelen en son yazılımı göndermek isterler. Bu arada geliştiriciler, uygulama yazarken platformun yeni sürümlerini sürekli olarak izlemek istemiyor. Her iki grup da ürünleri nakliye etmek ve geride kalmak istememek arasında bir gerilim yaşıyor.
Bunu ele almak için, çekirdek platform API'leri dahil olmak üzere Android'in sonraki sürümünün bazı bölümleri özel bir dalda geliştirildi. Bu API'ler, Android'in bir 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 dikkat çekmek. Bu, geliştiricilerin ve OEM'lerin sadece devam etmek için bitmemiş gelecekteki çalışmaları izlemeden tek bir sürümü kullanmalarına olanak tanır. Android sisteminin uygulama uyumluluğu ile ilgili olmayan diğer kısımları açık olarak geliştirilmektedir. Bu parçaların çoğunu zaman içinde geliştirmeyi açmak için taşımak niyetindeyiz.
Kaynak kod yayınları ne zaman yapılır?
Hazır olduklarında. Kaynak kodunun serbest bırakılması oldukça karmaşık bir işlemdir. Android'in bazı bölümleri açık olarak geliştirildi ve bu kaynak kodu her zaman kullanılabilir durumda. Diğer parçalar önce özel bir ağaçta geliştirilir ve bu kaynak kodu sonraki platform sürümü hazır olduğunda yayınlanır.
Bazı sürümlerde, çekirdek platform API'leri, cihazın piyasaya sürülmesinden önce erken bir bakış için kaynak kodunu gönderebilmemiz için yeterince önceden hazırdır. Diğer sürümlerde bu mümkün değildir. Her durumda, sürümün kararlı olduğunu hissettiğimizde ve geliştirme süreci izin verdiğinde platform kaynağını yayınlarız.
Yeni bir Android sürümü için kaynak kodunun yayınlanmasında neler var?
Android platformunun yeni bir sürümünün kaynak kodunun yayınlanması önemli bir süreçtir. İlk olarak, yazılım bir cihaz için bir sistem görüntüsüne yerleştirilir ve telefonların konuşlandırılacağı bölgeler için hükümet düzenleyici sertifikaları da dahil olmak üzere çeşitli sertifika biçimlerine tabi tutulur. Kod ayrıca operatör testinden geçer. Bu, yazılım hatalarının tespit edilmesine yardımcı olduğu için sürecin önemli bir aşamasıdır.
Yayın, düzenleyiciler ve operatörler tarafından onaylandığında, üretici, cihazları seri ü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ünü hazırlamak için birkaç çalışma başlattı. Bu çabalar, son API değişikliklerinin yapılması, belgelerin güncellenmesi (örneğin, yeterlilik testi sırasında yapılan değişiklikleri yansıtmak için), yeni sürüm için bir SDK hazırlanması ve platform uyumluluk bilgilerinin başlatılmasını içerir.
Hukuk ekibimiz, kodu açık kaynak olarak yayınlamak için son bir imza atıyor. Açık kaynağa katkıda bulunanların, katkılarının fikri mülkiyet sahipliğine sahip olduklarını doğrulayan bir Katkıda Bulunanlar Lisans Sözleşmesi imzalamaları gerektiği gibi, Google'ın da katkı yapmak için kaynağın uygun olduğunu doğrulaması gerekir.
Kitlesel üretimin başladığı andan itibaren, yazılım yayın süreci genellikle yaklaşık bir ay sürer, bu nedenle kaynak kod sürümleri genellikle cihazların kullanıcılara ulaştığı zaman civarında gerçekleşir.
AOSP, Android Uyumluluk Programı ile nasıl ilişkilidir?
Android Açık Kaynak Projesi, Android yazılımını korur ve yeni sürümler geliştirir. Açık kaynak olduğu için bu yazılım, aynı kaynağa dayalı diğer cihazlarla uyumlu olmayan cihazlar geliştirmek de dahil olmak üzere herhangi bir amaç için kullanılabilir.
Android Uyumluluk Programının işlevi, geliştiriciler tarafından yazılan üçüncü taraf uygulamalarla uyumlu bir temel Android uygulaması tanımlamaktır. Android uyumlu cihazlar, Google Play dahil olmak üzere Android ekosistemine katılmaya uygundur; uyumluluk gereksinimlerini karşılamayan cihazlar bu ekosistemin dışında bulunur.
Başka bir deyişle, Android Uyumluluk Programı, Android uyumlu cihazları yalnızca kaynak kodun türevlerini çalıştıran cihazlardan nasıl ayırdığımızdır. Android kaynak kodunun tüm kullanımlarını memnuniyetle karşılıyoruz, ancak Android ekosistemine katılmak için bir cihazın program tarafından Android uyumlu olarak tanımlanması gerekir.
Android'e nasıl katkıda bulunabilirim?
Hataları bildirebilir, Android için uygulamalar yazabilir veya Android Açık Kaynak Projesine kaynak kodu katkıda bulunabilirsiniz.
Kabul ettiğimiz kod katkı türlerinin sınırları vardır. Örneğin, birisi tam C++ tabanlı ortam gibi alternatif bir uygulama API'sine katkıda bulunmak isteyebilir. Android, uygulamaların ART çalışma zamanında çalıştırılmasını teşvik ettiği için bu katkıyı reddederiz. Benzer şekilde, lisanslama hedeflerimizle uyumlu olmayan GPL veya LGPL kitaplıkları gibi katkıları kabul etmeyeceğiz.
Kaynak koduna katkıda bulunmak isteyenlerin, herhangi bir çalışmaya başlamadan önce Android Topluluğu sayfasında listelenen kanallar aracılığıyla bizimle iletişime geçmelerini öneririz. Ayrıntılar için Katkıda Bulunma bölümüne bakın.
Nasıl bir Android işleyicisi olurum?
Android Açık Kaynak Projesi gerçekten bir taahhütte bulunma kavramına sahip değildir. Tüm katkılar (Google çalışanları tarafından yazılanlar dahil), Android mühendislik sürecinin bir parçası olan Gerrit olarak bilinen web tabanlı bir sistemden geçer. Bu sistem, kaynak kodu katkılarını temiz bir şekilde yönetmek için git kaynak kodu yönetim sistemi ile birlikte çalışır.
Gönderildiğinde, değişikliklerin atanmış bir onaylayıcı tarafından kabul edilmesi gerekir. Onaylayanlar genellikle Google çalışanlarıdır, ancak kaynağına bakılmaksızın tüm gönderimlerden aynı onaylayanlar sorumludur.
Ayrıntılar için, bkz. Yamaları Gönderme .
Başa dönüşuyumluluk
Android "uyumluluğu" nedir?
Android uyumlu bir cihazı, Android SDK ve NDK kullanarak üçüncü taraf geliştiriciler tarafından yazılmış herhangi bir uygulamayı çalıştırabilen cihaz olarak tanımlarız. Bunu, Android uygulama ekosistemine katılabilen ve katılamayan cihazları ayırmak için bir filtre olarak kullanıyoruz. Cihaz üreticileri, uygun şekilde uyumlu cihazlar için Android ticari markasını kullanmak için onay isteyebilir. Uyumlu olmayan cihazlar Android kaynak kodundan türetilmiştir ve Android ticari markasını kullanmalarına izin verilmez.
Başka bir deyişle, Android uygulamaları ekosistemine katılım için uyumluluk bir ön koşuldur. Android kaynak kodunu herkes kullanabilir. Ancak cihaz uyumlu değilse, Android ekosisteminin bir parçası olarak kabul edilmez.
Google Play'in uyumluluktaki rolü nedir?
Android uyumlu cihazlara sahip cihaz üreticileri, Google Play istemci yazılımını lisanslamak isteyebilir. Lisanslı cihazlar, Android uygulama ekosisteminin bir parçası haline gelir ve kullanıcılarının, geliştiricilerin uygulamalarını tüm uyumlu cihazlar tarafından paylaşılan bir katalogdan indirmesine olanak tanır. Lisanslama, uyumsuz cihazlarda kullanılamaz.
Ne tür cihazlar Android uyumlu olabilir?
Android yazılımı, üçüncü taraf uygulamaların düzgün çalışmadığı bazı cihazlar da dahil olmak üzere birçok farklı cihaza taşınabilir. Android Uyumluluk Tanımlama Belgesi (CDD), uyumlu olarak kabul edilen belirli cihaz yapılandırmalarını açıklar.
Örneğin, Android kaynak kodu kamerası olmayan bir telefonda çalışacak şekilde taşınabilir, ancak CDD tüm telefonlarda kamera olmasını gerektirir. Bu, geliştiricilerin uygulamalarını yazarken tutarlı bir dizi yeteneğe güvenmelerini sağlar.
CDD, piyasa gerçeklerini yansıtacak şekilde gelişmeye devam ediyor. Örneğin, CDD'nin 1.6 sürümü yalnızca cep telefonlarını destekler. Ancak sürüm 2.1, cihazların telefon donanımını atlamasına izin vererek, tablet tarzı müzik çalarlar gibi telefon dışı cihazların uyumlu olmasını sağlar. Bu değişiklikleri yaptıkça, geliştiricilerin uygulamalarının nerede kullanılabileceğini kontrol etmelerini sağlamak için Google Play'i de genişleteceğiz. Telefon örneğine devam etmek gerekirse, SMS metin mesajlarını yöneten bir uygulama medya oynatıcıda kullanışlı değildir, bu nedenle Google Play geliştiricinin bu uygulamayı yalnızca telefon cihazlarıyla kısıtlamasına izin verir.
Cihazım uyumluysa, otomatik olarak Google Play'e ve marka bilinci oluşturma erişimine sahip olur mu?
Hayır. Erişim otomatik değildir. Google Play, Google tarafından işletilen bir hizmettir. Uyumluluğun sağlanması, Google Play yazılımına erişim ve marka bilinci oluşturma için bir ön koşuldur. Bir cihaz, Android uyumlu cihaz olarak nitelendirildikten sonra, cihaz üreticisi, Google Play'e erişim aramak için Google Mobil Hizmetlerini lisanslarken verilen iletişim formunu doldurmalıdır. Size yardımcı olabilirsek iletişime geçeceğiz.
Üretici değilsem, Google Play'i nasıl edinebilirim?
Google Play, yalnızca cihaz üreticilerinin cihaz göndermesi için lisanslıdır. Belirli durumlarla ilgili sorularınız için android-partnerships@google.com ile iletişime geçin.
Haritalar gibi Android için Google uygulamalarına nasıl erişebilirim?
Örneğin YouTube, Google Haritalar ve Gmail gibi Android için Google uygulamaları, Android'in parçası olmayan ve ayrı olarak lisanslanan Google mülkleridir. Bu uygulamalarla ilgili sorularınız için android-partnerships@google.com ile iletişime geçin.
Uyumluluk zorunlu mu?
Hayır. Android Uyumluluk Programı isteğe bağlıdır. Android kaynak kodu açıktır, böylece herkes onu herhangi bir cihaz oluşturmak için kullanabilir. Ancak, üreticiler ürünleriyle birlikte Android adını kullanmak veya Google Play'e erişmek istiyorsa, öncelikle cihazlarının uyumlu olduğunu kanıtlamaları gerekir.
Uyumluluk sertifikasının maliyeti nedir?
Bir cihaz için Android uyumluluğu edinmenin hiçbir maliyeti yoktur. Uyumluluk Testi Paketi açık kaynaklıdır ve cihaz testi için herkes tarafından kullanılabilir.
Uyumluluk ne kadar sürer?
İşlem otomatiktir. Uyumluluk Testi Paketi, uyumluluğu doğrulamak için Google'a sağlanabilecek bir rapor oluşturur. Sonunda, bu raporları genel bir veri tabanına yüklemek için self servis araçlar sağlamayı amaçlıyoruz.
Uyumluluk tanımını kim belirler?
Google, bir platform ve ürün olarak Android'in genel yönetiminden sorumludur, bu nedenle Google, her sürüm için Uyumluluk Tanım Belgesi'ni (CDD) tutar. Girdi sağlayan çeşitli OEM'lere danışarak yeni bir Android sürümü için CDD'yi hazırladık.
Her Android sürümü yeni cihazlar için ne kadar süreyle desteklenecek?
Android'in kodu açık kaynak olduğundan, birinin bir cihazı başlatmak için eski bir sürümü kullanmasını engelleyemiyoruz. Bunun yerine Google, Google Play istemci yazılımını eski olduğu kabul edilen sürümlerde kullanım için lisanslamamayı seçer. Bu, herkesin eski Android sürümlerini göndermeye devam etmesine olanak tanır, ancak bu cihazlar Android adını kullanmayacak ve sanki uyumlu değillermiş gibi Android uygulamaları ekosisteminin dışında var olmayacak.
Bir cihaz farklı bir kullanıcı arayüzüne sahip olabilir ve yine de uyumlu olabilir mi?
Android Uyumluluk Programı, bir cihazın üçüncü taraf uygulamaları çalıştırıp çalıştıramayacağını belirler. Bir aygıtla birlikte gönderilen kullanıcı arabirimi bileşenlerinin (ana ekran, çevirici ve renk şeması gibi) genellikle üçüncü taraf uygulamalar üzerinde fazla etkisi yoktur. Bu nedenle, cihaz üreticileri kullanıcı arayüzünü özelleştirmekte özgürdür. Uyumluluk Tanımı Belgesi, OEM'lerin üçüncü taraf uygulamalarını etkileyen alanlar için sistem kullanıcı arabirimini değiştirmesine izin verilen dereceyi kısıtlar.
Yeni Android sürümleri için uyumluluk tanımları ne zaman yayınlanır?
Hedefimiz, ilgili Android platform sürümü buna izin verecek kadar yakınsadığında Android Uyumluluk Tanım Belgesinin (CDD) yeni bir sürümünü yayınlamaktır. İlk amiral gemisi cihaz bu yazılımla birlikte gönderilmeden önce bir Android yazılım sürümü için bir CDD'nin son taslağını yayınlayamasak da, nihai CDD'ler her zaman ilk cihazdan sonra yayınlanır. Ancak, mümkün olan her yerde CDD'lerin taslak sürümlerini yayınlıyoruz.
Cihaz üreticilerinin uyumluluk iddiaları nasıl doğrulanır?
Android cihaz uyumluluğu için doğrulama süreci yoktur. Ancak, cihaz Google Play'i içerecekse, Google genellikle Google Play istemci yazılımını lisanslamayı kabul etmeden önce cihazın uyumluluğunu doğrular.
Uyumluluk iddiasında bulunan bir cihaz daha sonra uyumluluk sorunları yaşarsa ne olur?
Genellikle, Google'ın Google Play lisans sahipleriyle ilişkileri, cihaz üreticisinden sorunları gideren güncellenmiş sistem resimlerini yayınlamasını istememize olanak tanır.
Başa dönüşUyumluluk Testi Paketi
CTS'nin amacı nedir?
Uyumluluk Testi Paketi, cihaz üreticileri tarafından cihazlarının uyumlu olduğundan emin olmak ve doğrulamalar için test sonuçlarını raporlamak için kullanılan bir araçtır. CTS, uyumluluk sorunlarını erkenden yakalamak için mühendislik süreci boyunca OEM'ler tarafından sık sık çalıştırılmak üzere tasarlanmıştır.
CTS ne tür şeyleri test eder?
CTS şu anda desteklenen tüm Android güçlü tipli API'lerin mevcut olduğunu ve doğru şekilde davrandığını test ediyor. Ayrıca uygulama yaşam döngüsü ve performans gibi diğer API dışı sistem davranışlarını da test eder. Intents gibi yazılım API'lerini test etmek için gelecekteki CTS sürümlerinde destek eklemeyi planlıyoruz.
CTS raporları kamuya açıklanacak mı?
Evet. Şu anda uygulanmasa da Google, OEM'lerin CTS raporlarını herkesin görebilmesi için yayınlamaları için web tabanlı self servis araçlar sağlamayı amaçlamaktadır. Üreticiler, CTS raporlarını istedikleri kadar geniş bir kitleyle paylaşabilirler.
CTS nasıl lisanslanır?
CTS, Android'in büyük bölümünün kullandığı Apache Yazılım Lisansı 2.0 ile aynı lisansa sahiptir.
CTS katkıları kabul ediyor mu?
Evet lütfen! Android Açık Kaynak Projesi, diğer bileşenlerde olduğu gibi CTS'yi geliştirmeye yönelik katkıları kabul eder. Aslında, CTS test senaryolarının kapsamını ve kalitesini iyileştirmek, Android'e yardımcı olmanın en iyi yollarından biridir.
CTS'yi mevcut cihazlarda herkes kullanabilir mi?
Uyumluluk Tanımı Belgesi, uyumlu cihazların adb
hata ayıklama yardımcı programını uygulamasını gerektirir. Bu, herhangi bir uyumlu cihazın (perakendede bulunanlar dahil) CTS testlerini çalıştırabilmesi gerektiği anlamına gelir.
Codec bileşenleri CTS tarafından doğrulandı mı?
Evet. Tüm zorunlu kodekler CTS tarafından doğrulanır.
Başa dönüş