Android Açık Kaynak Projesi'nin (AOSP) temel terminolojisini öğrenmek için aşağıdaki listeye göz atın. Temel terimlerin tanımları için diğer kaynakları aşağıda bulabilirsiniz:
- Android Uyumluluk Tanımlama Belgesi (CDD) Derleme Parametreleri bölümü
- Ses terminolojisi
- USB ile ilgili temel kavramlar ve terminoloji
- Otomotiv terminolojisi
- Automotive Dialer terminolojisi
- Automotive Instrument Cluster API terminolojisi
- Uygulama geliştiriciler için sözlük
- Kamera sürümü terminolojisi
- Cihaz ağacı yerleşimi (DTO) terminolojisi
- Çerçeve Uyumluluğu Matrisi (FCM) kullanım ömrü terminolojisi
- Sağlık terminolojisi
- HIDL terminolojisi
- Donanım destekli anahtar deposu terminolojisi
- Çoklu ekran terminolojisi
Daha kapsayıcı bir ekosistem için kullanılması ve kullanılmaması gereken terminoloji örnekleri için Saygılı kodlama bölümüne bakın.
Uygulamalar
- APK (.apk) dosyası
- Uzantısı
.apk
olan Android uygulama paketi dosyası. Her Android uygulaması, uygulamanın tüm kodlarını (.dex
uzantılı DEX dosyaları), kaynaklarını, öğelerini ve manifest dosyasını içeren tek bir dosyada derlenir ve paketlenir. Uygulama paketi dosyası herhangi bir ada sahip olabilir ancak.apk
uzantısını kullanmalıdır. Örneğin,myExampleAppname.apk
. Kolaylık sağlaması açısından uygulama paketi dosyasına genellikle APK adı verilir.İlgili: app
- işlem
- Niyet göndereninin yapılmasını istediği bir şeyin açıklaması. İşlem, bir amaca atanan dize değeridir. İşlem dizeleri Android veya üçüncü taraf geliştiriciler tarafından tanımlanabilir. Örneğin, web URL'si için
android.intent.action.VIEW
veya telefonu titreştiren özel bir uygulama içincom.example.rumbler.SHAKE_PHONE
.İlgili: amaç (intent)
- etkinlik
- Bir uygulamadaki tek bir ekran.
Activity
sınıfından türetilen destekleyici Java koduyla birlikte. Etkinlikler en yaygın olarak, penceresini oluşturmak için kullandığı pencere nedeniyle kullanıcı arayüzü etkinliklerini alıp işleyebilen ve karmaşık görevler gerçekleştirebilen tam ekran pencereyle görünür şekilde temsil edilir. Etkinlikler genellikle tam ekran olur ancak kayan veya şeffaf da olabilir. - uygulama
- Bir Android uygulaması, bileşen açısından bir veya daha fazla etkinlik, hizmet, dinleyici ve amaç alıcısından oluşur. Kaynak dosyası açısından bir Android uygulaması; kod, kaynak, öğe ve tek bir manifestten oluşur. Derleme sırasında bu dosyalar, uygulama paketi dosyası (APK) adı verilen tek bir dosyada paketlenir.
İlgili konular: APK (.apk) dosyası, etkinlik
- yayın alıcı
- Tek bir hedef uygulamaya veya etkinliğe gönderilmek yerine yayınlanan intent'leri dinleyen
BroadcastReceiver
sınıfına dayalı bir nesne. Sistem, ilgilenen tüm yayın alıcılarına bir yayın amacı gönderir. Bu alıcılar, amaçları sırayla işler.İlgili: intent, intent filter
- içerik sağlayıcı
- Uygulamanızın verilerini diğer uygulamalara güvenli bir şekilde sunmak için kullanabileceğiniz bir veri soyutlama katmanı. İçerik sağlayıcı, belirli bir biçimde veri döndürmek için belirli bir biçimdeki içerik sorgu dizelerini işleyen
ContentProvider
sınıfı üzerine kuruludur. Daha fazla bilgi için İçerik sağlayıcılar başlıklı makaleyi inceleyin.İlgili: Android'deki URI'ler
- iletişim kutusu
- Basit bir form görevi gören kayan pencere. İletişim kutusunda yalnızca düğme kontrolleri olabilir ve basit bir işlem (ör. düğme seçimi) gerçekleştirmek ve belki de bir değer döndürmek için tasarlanmıştır. Bir iletişim kutusunun geçmiş yığınında kalıcı olması, karmaşık bir düzen içermesi veya karmaşık işlemler gerçekleştirmesi amaçlanmaz. Android, isteğe bağlı düğmeler içeren varsayılan basit bir iletişim kutusu sağlar veya kendi iletişim kutusu düzeninizi tanımlayabilirsiniz.
İletişim kutularının temel sınıfı
Dialog
'dir.İlgili: etkinlik
- amaç
- Diğer uygulamaları veya etkinlikleri eşzamansız olarak başlatmak ya da onlarla iletişim kurmak için kullanabileceğiniz bir mesaj nesnesi. Bir amaç nesnesi,
Intent
sınıfının bir örneğidir. Hangi uygulamanın veya etkinliğin amacı alacağını ve alıcının amacı işlerken ne yapacağını belirlemek için kullanabileceğiniz çeşitli ölçüt alanları içerir. İstenen işlem, kategori, veri dizesi, verilerin MIME türü ve işleme sınıfı gibi ölçütler kullanılabilir. Bir uygulama, başka bir uygulamaya veya etkinliğe doğrudan göndermek yerine Android sistemine bir amaç gönderir. Uygulama, amacı tek bir hedef uygulamaya gönderebilir veya yayın olarak gönderebilir. Bu yayın da sırayla birden fazla uygulama tarafından işlenebilir. Android sistemi, her amaç için en iyi alıcıyı çözmekten sorumludur. Bu işlem, amaçta sağlanan ölçütlere ve diğer uygulamalar tarafından tanımlanan amaç filtrelerine göre yapılır. Daha fazla bilgi için Niyetler ve niyet filtreleri başlıklı makaleyi inceleyin.İlgili: intent filtresi, yayın alıcısı
- intent filtresi
- Bir uygulamanın, manifest dosyasında tanımladığı filtre nesnesi. Bu nesne, sisteme bileşenlerinin hangi tür intent'leri ve hangi ölçütlerle kabul edeceğini bildirir. Bir amaç filtresi aracılığıyla uygulama; belirli veri türleri, amaç işlemleri, URI biçimleri vb. ile ilgili ilgisini ifade edebilir. Sistem, bir amaca yönelik işlemi çözerken tüm uygulamalardaki mevcut tüm amaç filtrelerini değerlendirir ve amacı, amaca ve ölçütlere en iyi şekilde uyan uygulamaya veya etkinliğe iletir. Daha fazla bilgi için Amaçlar ve amaç filtreleri başlıklı makaleyi inceleyin.
İlgili: Amaç, yayın alıcısı
- şu adreste bulabilirsiniz:
- Derlenmiş uygulama kodunun dışında olan ancak iyi bilinen bir referans biçimi kullanılarak uygulama kodundan yüklenebilen programatik olmayan uygulama bileşenleri. Android çeşitli kaynak türlerini destekler ancak tipik bir uygulamanın kaynakları kullanıcı arayüzü dizeleri, kullanıcı arayüzü düzen bileşenleri, grafikler veya diğer medya dosyalarından oluşur.
Bir uygulama, yerelleştirmeyi ve çeşitli cihaz profillerini ve durumlarını verimli bir şekilde desteklemek için kaynakları kullanır. Örneğin, bir uygulama desteklenen her yerel ayar veya cihaz türü için ayrı bir kaynak grubu içerir ve mevcut ekran yönüne (yatay veya dikey) özgü düzen kaynakları içerebilir. Kaynaklar hakkında daha fazla bilgi için Uygulama kaynaklarına genel bakış başlıklı makaleyi inceleyin. Bir uygulamanın kaynakları her zaman projenin
res/*
alt klasörlerinde depolanır. - hizmet
- Müzik çalma veya ağ etkinliğini izleme gibi çeşitli kalıcı işlemleri gerçekleştirmek için arka planda (kullanıcı arayüzü olmadan) çalışan
Service
sınıfının bir nesnesi.İlgili: etkinlik
- Android'de URI'ler
- Android, içerik sağlayıcıda (ör. kişilerin listesini almak için) veri istemek ve bir amaçta (ör. bir web sayfasını tarayıcıda açmak için) işlem istemek için tekdüzen kaynak tanımlayıcı (URI) dizelerini temel alır. URI şeması ve biçimi, kullanım türüne göre özelleştirilir. Uygulamalar, belirli URI şemalarını ve dizelerini istedikleri şekilde işleyebilir.
Bazı URI şemaları sistem bileşenleri tarafından ayrılmıştır. Örneğin, içerik sağlayıcıdan gelen veri istekleri
content://
kullanmalıdır. Bir amaçta,http://
şeması kullanan bir URI tarayıcı tarafından işlenir.
Derle
- adb
- Android Debug Bridge, SDK'ya dahil edilen bir komut satırı hata ayıklama uygulamasıdır. adb, cihaza göz atmak, cihaza araç kopyalamak ve hata ayıklama için bağlantı noktalarını yönlendirmek üzere araçlar sağlar. Android Studio'da geliştirme yapıyorsanız
adb, geliştirme ortamınıza entegre edilmiştir. Kısaltma, düz metin olarak tamamen küçük harflerle yazılır. Komuttan özellikle bahsedilirken
adb
olarak yazılır. Daha fazla bilgi için fastboot ve adb'nin yüklü olduğunu doğrulama başlıklı makaleyi inceleyin. - Android projesi
- Android Gerrit ana makinesinde bir Git deposu. Git'in işleyişi hakkında daha fazla bilgi için Git kaynak düzenleyici başlıklı makaleyi inceleyin.
İlgili: Git deposu
- derleme parmak izi
- Her derlemeye verilen, üretici bilgilerini içeren benzersiz ve insanlar tarafından okunabilir bir dize. Daha fazla bilgi için OTA paketleri oluşturma başlıklı makaleyi inceleyin.
- Git dalı - standart
- Her Git deposu için
android-11.0.0_r1
gibi farklı sürümler cs.android.com/android/platform/superproject/+/android-11.0.0_r1 adresinde bulunabilir. Daha fazla bilgi için Git Branching - Branches in a Nutshell (Git Branching - Branches in a Nutshell) başlıklı makaleyi inceleyin. - Git dalı - yerel
- Kod değişiklikleri yapmak için mevcut Repo istemcisinde geçici bir dal.
repo start branch-name .
komutuyla başlatılır. Bu, aktif bir geliştirme hattıdır. Bir daldaki en son commit'e o dalın ucu denir. - Git deposu
- Bazen proje olarak da adlandırılan bu bölüm, kod tabanının
frameworks/base
veyaplatform/packages/apps/Car/Media
gibi belirli bir bileşeni ya da cihaz türünü temsil eden kısmıdır.İlgili konular: Android projesi
- manifest dosyası
- Dallara göre Git depolarının gruplandırılmasını, bu depoların hangi Git revizyonlarında kullanıma alınacağını ve dosya sistemindeki düzenlerini açıklayan bir XML dosyası. Genellikle
default.xml
olarak adlandırılan bu XML dosyası, bir Repo dalıyla ilişkilendirilir ve Repo dalını başlatıp senkronize ettiğinizde kullanılan Git depolarını ve Git dallarını açıklar. Bu dosya, Repo aracının bir ürünü (ör. Android Automotive OS) oluşturmak için Repo istemci ödemesine getirmesi gereken çeşitli Git depolarını tanımlar. Tüm manifestleri android.googlesource.com/platform/manifest/+refs adresinde bulabilirsiniz. Android platformu (AOSP) dosyalarını android.googlesource.com/platform/manifest/+/refs/heads/android16-release/default.xml adresinden çekmek için manifest dosyalarına dahil edilen varsayılan manifesti inceleyin. Uygulama bilgileri için Uygulama manifestine genel bakış, platform geliştirme için Depo manifest biçimi başlıklı makaleye bakın. - kablosuz (OTA) güncelleme
- Sistem, uygulama yazılımı ve saat dilimi kurallarıyla ilgili kablosuz (OTA) güncellemeler, sahadaki Android cihazlara gönderilip yüklenebilir. Daha fazla bilgi için OTA güncellemeleri başlıklı makaleye bakın.
- Depo dalı
- Android kod tabanının bir sürümünü (derleme) temsil eden manifest dosyasında yakalanan bir Git depoları koleksiyonu. Örneğin:
android11-gsi
veyaaosp-android-games-sdk
,repo init
verepo sync
komutlarıyla indirilir. Tüm manifest dosyalarının bağlantıları için manifest dosyası açıklamasına bakın ve derlemelerini aramak için Android Code Search'ü kullanın. - uprev
- Genel olarak, uprev, daha büyük bir projenin bileşen alt projesini daha yeni bir sürüme günceller. Bir üst sürüme geçiş, revizyon düzeyini bir sonraki artırılmış sürüme veya mevcut en son sürüme değiştirir. HIDL paketinde, paket düzeyinde geriye dönük uyumlu genişletilebilirliği korumak için alt sürüm yükseltmesi, yeni paketi daha yüksek bir alt sürüme güncellerken eski paketle aynı adı ve ana sürümü korur. Bootloader yapılandırması söz konusu olduğunda, bir uprev, başlatma başlığı sürüm desteğini en son sürüme günceller.
Platform
- Android Çalışma Zamanı (ART) ve Dalvik
- Android Çalışma Zamanı (ART), Android'deki uygulamalar ve bazı sistem hizmetleri tarafından kullanılan yönetilen çalışma zamanıdır. ART, Android 5.0 (API düzeyi 21) ve sonraki sürümleri çalıştıran cihazlarda varsayılan çalışma zamanıdır. ART ve önceki sürümü Dalvik, başlangıçta Android Açık Kaynak Projesi için özel olarak oluşturulmuştu. Çalışma zamanı olarak ART, Dalvik Executable biçimini ve Dex bayt kodu spesifikasyonunu yürütür. ART ve Dalvik, Dex bayt kodu çalıştıran uyumlu çalışma zamanlarıdır. Bu nedenle, Dalvik için geliştirilen uygulamalar ART ile çalıştırıldığında sorunsuz çalışır.
- DEX (.dex) dosyası
- Derlenmiş Android uygulama kodu dosyası. Android programları,
.dex
uzantılı Dalvik Executable (DEX) dosyaları olarak derlenir. Bu dosyalar da cihazda tek bir APK dosyası olarak sıkıştırılır. DEX dosyaları, Java programlama dilinde yazılmış derlenmiş uygulamalar otomatik olarak çevrilerek oluşturulabilir.