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, Android projesini, mobil uygulamaları başlatma konusundaki kendi deneyimlerimize yanıt olarak 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 olduğundan emin olmak istedik. Ayrıca herhangi bir merkezi başarısızlık noktasından kaçınmak istedik, böylece hiçbir sektör oyuncusu diğerinin yeniliklerini kısıtlayamaz veya kontrol edemezdi. AOSP ile tek ve en önemli hedefimiz, açık kaynaklı Android yazılımının herkesin yararına olacak şekilde olabildiğince yaygın 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 güçlü geliştirici ve kullanıcı toplulukları oluşturmak için çalışır. Çoğunlukla, Android kaynak kodu, bir copyleft lisansı yerine izin veren Apache Lisansı 2.0 kapsamında lisanslanmıştır. Apache 2.0 lisansını seçtik çünkü Android yazılımlarının yaygın olarak benimsenmesini teşvik ettiğine inanıyoruz. Ayrıntılar için bkz. Lisanslar .
Google neden Android'den sorumlu?
Bir yazılım platformunu başlatmak karmaşıktır. Açıklık, bir platformun uzun vadeli başarısı için hayati önem taşır çünkü açıklık geliştiricilerden yatırım çeker ve eşit koşullar 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ır ve Android çalıştıran harika cihazların pazara sunulduğundan emin olmak için gerekli ticari anlaşmaları yapar.
Android'in kullanıcılar arasında başarılı olmasını sağlayarak, Android'in bir platform ve açık kaynak projesi olarak canlılığını sağlamaya yardımcı oluyoruz. Sonuçta başarısız bir ürünün kaynak kodunu kim ister?
Google'ın amacı, Android çevresinde başarılı bir ekosistem sağlamaktır. Android kaynak kodunu herkesin kendi ihtiyaçlarını karşılayacak şekilde değiştirebilmesi ve yazılımı dağıtabilmesi için açtık.
Google'ın Android ürün geliştirmeye yönelik 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 üstlenir ve yeni özelliklerden yararlanan daha fazla cihazı takip eden geniş OEM topluluğu için bir çığır açar. Bu sayede 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 şube, geçerli kararlı şube sürümü olarak kabul edilir. Bu, üreticilerin cihazlarına aktardıkları daldır. Bu dal her zaman salıverilmeye uygun tutulur.
Eşzamanlı olarak, büyük yeni nesil özellikler gibi spekülatif katkıların geliştirildiği güncel bir deneysel şube var. Hata düzeltmeleri ve diğer katkılar, deneysel şubeden uygun şekilde mevcut kararlı şubeye dahil edilebilir.
Son olarak Google, bir amiral gemisi cihazı geliştirmeyle birlikte Android platformunun bir sonraki sürümü üzerinde çalışıyor. Bu dal, değişiklikleri uygun şekilde deneysel ve kararlı dallardan çeker.
Kod satırları, dallar ve yayınlar hakkında ayrıntılar için bkz. AOSP kod yönetimi .
Android'in bazı bölümleri neden özel olarak geliştiriliyor?
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 sürekli olarak platformun yeni sürümlerini takip etmek istemezler. Her iki grup da ürünleri göndermekle geride kalmak istememek arasında bir gerilim yaşıyor.
Bunu ele almak için, çekirdek platform API'leri de dahil olmak üzere Android'in sonraki sürümünün bazı bölümleri özel bir şubede geliştirilmektedir. 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 dikkatleri Android kaynak kodunun mevcut kararlı sürümüne odaklamaktır. Bu, geliştiricilerin ve OEM'lerin yalnızca ayak uydurmak için gelecekteki tamamlanmamış işleri izlemeden tek bir sürüm kullanmasına olanak tanır. Android sisteminin uygulama uyumluluğu ile ilgili olmayan diğer bölümleri açık olarak geliştirilmektedir. Zaman içinde geliştirmeyi açmak için bu parçalardan daha fazlasını taşımayı planlıyoruz.
Kaynak kodu sürümleri ne zaman yapılır?
Hazır olduklarında. Kaynak kodunu yayınlamak oldukça karmaşık bir süreçtir. Android'in bazı bölümleri açık olarak geliştirilir ve bu kaynak kodu her zaman kullanılabilir durumdadır. Diğer parçalar önce özel bir ağaçta geliştirilir ve sonraki platform sürümü hazır olduğunda bu kaynak kodu 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 kodunu yayınlamak neleri içerir?
Android platformunun yeni bir sürümünün kaynak kodunu yayınlamak önemli bir süreçtir. İlk olarak, yazılım, bir cihaz için bir sistem görüntüsünün içine yerleştirilmiştir ve telefonların konuşlandırılacağı bölgeler için devlet düzenleyici sertifikasyonu da dahil olmak üzere çeşitli sertifika formlarından geçirilir. Kod ayrıca operatör testinden de geçer. Bu, sürecin önemli bir aşamasıdır çünkü yazılım hatalarının tespit edilmesine yardımcı olur.
Serbest bırakma, düzenleyiciler ve operatörler tarafından onaylandığında, üretici cihazların seri üretimine başlar ve biz de kaynak kodunu yayınlamaya başlarız.
Seri üretimle eş zamanlı olarak Google ekibi, açık kaynak sürümü hazırlamak için birkaç çalışma başlatır. Bu çabalar arasında nihai API değişikliklerinin yapılması, belgelerin güncellenmesi (örneğin, kalifikasyon testi sırasında yapılan herhangi bir değişikliği yansıtmak için), yeni sürüm için bir SDK hazırlanması ve platform uyumluluk bilgilerinin başlatılması yer alır.
Hukuk ekibimiz, kodu açık kaynağa yayınlamak için son bir onay işlemi gerçekleştirir. Açık kaynak katkıda bulunanların, katkılarının fikri mülkiyet sahipliğini onaylayan bir Katkıda Bulunanlar Lisans Sözleşmesi imzalamaları gerektiği gibi, Google'ın da kaynağın katkı yapmaya yetkili olduğunu doğrulaması gerekir.
Seri üretimin başladığı andan itibaren, yazılım sürüm süreci genellikle yaklaşık bir ay sürer, bu nedenle kaynak kodu sürümleri genellikle cihazların kullanıcılara ulaştığı zaman civarında gerçekleşir.
AOSP'nin Android Uyumluluk Programı ile nasıl bir ilişkisi var?
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 temel bir Android uygulamasını 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 koduyla katkıda bulunabilirsiniz.
Kabul ettiğimiz kod katkı türlerinin sınırları vardır. Örneğin, birisi tam C++ tabanlı bir ortam gibi alternatif bir uygulama API'sine katkıda bulunmak isteyebilir. Bu katkıyı reddederiz çünkü Android, uygulamaları ART çalışma zamanında çalıştırmaya teşvik eder. Benzer şekilde, lisanslama hedeflerimizle bağdaşmayan GPL veya LGPL kitaplıkları gibi katkıları da kabul etmeyeceğiz.
Kaynak koduyla katkıda bulunmakla ilgilenenlerin, herhangi bir çalışmaya başlamadan önce Android Topluluğu sayfasında listelenen kanallar aracılığıyla bizimle iletişime geçmesini öneririz. Ayrıntılar için bkz. Katkıda Bulunma .
Nasıl bir Android işlemcisi olurum?
Android Açık Kaynak Projesi'nin gerçekten bir işleyici kavramı yoktur. Tüm katkılar (Google çalışanları tarafından yazılanlar dahil), Android mühendislik sürecinin bir parçası olan ve 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 menşei ne olursa olsun tüm gönderimlerden aynı onaylayanlar sorumludur.
Ayrıntılar için bkz. Yama 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ılan herhangi bir uygulamayı çalıştırabilen cihaz olarak tanımlıyoruz. Bunu, Android uygulama ekosistemine katılabilen ve katılamayan cihazları ayırmak için bir filtre olarak kullanıyoruz. Uygun şekilde uyumlu cihazlar için, cihaz üreticileri Android ticari markasını kullanmak için onay isteyebilir. Uyumlu olmayan cihazlar, Android kaynak kodundan türetilir ve Android ticari markasını kullanmalarına izin verilmez.
Başka bir deyişle uyumluluk, Android uygulamaları ekosistemine katılım için 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, tüm uyumlu cihazlar tarafından paylaşılan bir katalogdan geliştiricilerin uygulamalarını indirmesine olanak tanır. Lisanslama, uyumsuz cihazlar için mevcut değildir.
Ne tür cihazlar Android uyumlu olabilir?
Android yazılımı, bazıları üçüncü taraf uygulamalarının düzgün çalışmadığı da dahil olmak üzere birçok farklı cihaza taşınabilir. Android Uyumluluk Tanımlama Belgesi (CDD), uyumlu olduğu düşünülen belirli cihaz yapılandırmalarını açıklamaktadır.
Örneğin, Android kaynak kodu kamerası olmayan bir telefonda çalışacak şekilde taşınabilse de, CDD tüm telefonların kamerası olmasını gerektirir. Bu, geliştiricilerin uygulamalarını yazarken tutarlı bir yetenek grubuna 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ı çıkarmasına izin vererek, tablet tarzı müzik çalarlar gibi telefon dışı cihazların uyumlu olmasını sağlar. Bu değişiklikleri yaparken, geliştiricilerin uygulamalarının kullanıma sunulduğu yerler üzerinde kontrol sahibi olmalarını sağlamak için Google Play'i de genişleteceğiz. Telefon örneğine devam edecek olursak, SMS metin mesajlarını yöneten bir uygulama bir medya oynatıcıda kullanışlı değildir, bu nedenle Google Play, geliştiricinin bu uygulamayı yalnızca telefon cihazlarıyla sınırlamasına izin verir.
Cihazım uyumluysa Google Play'e ve marka bilinci oluşturmaya otomatik olarak erişebilir mi?
Hayır. Erişim otomatik değildir. Google Play, Google tarafından işletilen bir hizmettir. Uyumluluğa ulaşmak, Google Play yazılımına ve marka bilinci oluşturmaya erişim elde etmek için bir ön koşuldur. Bir cihaz Android uyumlu cihaz olarak nitelendirildikten sonra , cihaz üreticisinin Google Play'e erişim aramak için Google Mobil Hizmetlerinin lisanslanmasında yer alan iletişim formunu doldurması gerekir. Size yardımcı olabilirsek sizinle iletişime geçeceğiz.
Üretici değilsem Google Play'i nasıl edinebilirim?
Google Play yalnızca cihaz gönderen telefon üreticilerine lisanslanmıştır. Belirli durumlarla ilgili sorular için android-partnerships@google.com ile iletişime geçin.
Haritalar gibi Android için Google uygulamalarına nasıl erişebilirim?
YouTube, Google Haritalar ve Gmail gibi Android için Google uygulamaları, Android'in bir parçası olmayan ve ayrıca 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, yani herkes onu herhangi bir türde cihaz oluşturmak için kullanabilir. Ancak üreticiler, ürünlerinde 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 Test Paketi açık kaynaktır ve cihaz testi için herkes tarafından kullanılabilir.
Uyumluluk ne kadar sürer?
İşlem otomatiktir. Uyumluluk Test 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önünden sorumludur, bu nedenle Google, her sürüm için Uyumluluk Tanımlama Belgesini (CDD) sürdürür. Girdi sağlayan çeşitli OEM'lere danışarak yeni bir Android sürümü için CDD taslağı hazırlıyoruz.
Yeni cihazlar için her bir Android sürümü ne kadar süreyle desteklenecek?
Android'in kodu açık kaynak olduğundan, birisinin eski bir sürümü kullanarak bir cihazı başlatmasını engelleyemeyiz. Bunun yerine Google, Google Play istemci yazılımının eski olduğu kabul edilen sürümlerde kullanılması için lisans vermemeyi seçer. Bu, herkesin Android'in eski sürümlerini göndermeye devam etmesine olanak tanır, ancak bu cihazlar Android adını kullanmaz ve sanki uyumlu değillermiş gibi Android uygulamaları ekosisteminin dışında bulunur.
Bir cihazın farklı bir kullanıcı arayüzü 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 cihazla birlikte gönderilen kullanıcı arayüzü bileşenlerinin (ana ekran, çevirici ve renk şeması gibi) genellikle üçüncü taraf uygulamaları üzerinde fazla bir 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ı etkileyen alanlar için sistem kullanıcı arayüzünü 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 platformu sürümü izin verecek kadar yakınsadığında, Android Uyumluluk Tanımlama Belgesi'nin (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 CDD'nin son taslağını yayınlayamasak da, nihai CDD'ler her zaman ilk cihazdan sonra yayınlanır. Bununla birlikte, mümkün olduğu durumlarda, CDD'lerin taslak versiyonlarını yayınlıyoruz.
Cihaz üreticilerinin uyumluluk iddiaları nasıl doğrulanır?
Android cihaz uyumluluğu için herhangi bir doğrulama işlemi yoktur. Bununla birlikte, cihaz Google Play'i içerecekse Google, Google Play istemci yazılımının lisansını almayı kabul etmeden önce genellikle cihazın uyumluluğunu doğrular.
Uyumluluk iddiasında bulunan bir cihazın daha sonra uyumluluk sorunları olduğu anlaşılırsa ne olur?
Tipik olarak, Google'ın Google Play lisans sahipleriyle olan ilişkileri, cihaz üreticisinden sorunları çözen güncellenmiş sistem görüntülerini yayınlamasını istememize olanak tanır.
Başa dönüşUyumluluk Test Paketi
CTS'nin amacı nedir?
Uyumluluk Test Paketi, cihaz üreticileri tarafından cihazlarının uyumlu olduğundan emin olmak ve doğrulama için test sonuçlarını raporlamak amacıyla kullanılan bir araçtır. CTS'nin, uyumluluk sorunlarını erkenden tespit etmek için mühendislik süreci boyunca OEM'ler tarafından sık sık çalıştırılması amaçlanmıştır.
CTS ne tür şeyleri test eder?
CTS şu anda, desteklenen tüm Android kesin türü belirlenmiş API'lerin mevcut olduğunu ve doğru şekilde davrandığını test etmektedir. Ayrıca uygulama yaşam döngüsü ve performans gibi diğer API dışı sistem davranışlarını da test eder. Amaçlar gibi esnek API'leri test etmek için gelecekteki CTS sürümlerinde destek eklemeyi planlıyoruz.
CTS raporları kamuoyuna açıklanacak mı?
Evet. Şu anda uygulanmamakla birlikte Google, OEM'lerin CTS raporlarını herkesin görüntüleyebilmesi için yayınlaması için web tabanlı self servis araçlar sağlamayı amaçlamaktadır. Üreticiler CTS raporlarını diledikleri kadar geniş bir kitle ile 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 kapsamında lisanslanmıştır.
CTS katkıları kabul ediyor mu?
Evet lütfen! Android Açık Kaynak Projesi, diğer bileşenlerde olduğu gibi CTS'yi geliştirmek için katkıları kabul eder. Aslında, CTS test durumları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 (perakende satılanlar dahil) CTS testlerini çalıştırabilmesi gerektiği anlamına gelir.
Codec'ler CTS tarafından doğrulanıyor mu?
Evet. Tüm zorunlu codec bileşenleri CTS tarafından doğrulanmıştır.
Başa dönüş