Android 10 sürüm notları

Bu sayfada, Android 10 sürümündeki önemli özellikler özetlenmiştir ve ek bilgilere bağlantılar verilmiştir. Bu özellik özetleri, özelliğin bu sitedeki doküman konumuna göre düzenlenir.

Topluluk

java_sdk_library

Android 10, paylaşılan Java kitaplıklarıyla ilgili uyumluluk sorunlarını düzeltmek için yeni bir derleme kuralı olan java_sdk_library'u kullanıma sunar. Cihaz üreticileri, API'lerinin geriye dönük uyumluluğunu korumak için kendi paylaşılan Java kitaplıkları için bu mekanizmayı kullanabilir.

Mimari

Modüler sistem bileşenleri

Android 10, bazı Android sistem bileşenlerini modüler hale getirir ve normal Android sürüm döngüsü dışında güncellenmelerini sağlar. Bazı modüller şunlardır:

Donanım soyutlama katmanı (HAL)

Android 10, istemcisi olmadığında HAL'lerin otomatik olarak kapanması için destek ekler.

Patlayan mısır

ABI

Android 10, çekirdek modülleriyle uyumluluğu etkileyen çekirdek ABI değişikliklerini karşılaştırmaya, izlemeye ve azaltmaya yardımcı olmak için yeni ABI izleme yardımcı programları desteği içerir.

Android 10, sembol tabanlı bir ABI kullanım kontrol aracı da sunar. Denetleyici, derleme sırasında eski önceden oluşturulmuş ikili dosyaları algılayabilir. Böylece, paylaşılan kitaplık geliştiricileri hangi önceden oluşturulmuş ikili dosyaların değişiklikten etkilenebileceğini ve hangi önceden oluşturulmuş ikili dosyaların yeniden oluşturulması gerektiğini bilebilir.

Android Live-Lock Daemon

Android 10, çekirdek kilitlenmelerini yakalayıp azaltmak için tasarlanmış Android Live-Lock Daemon (llkd)'ı içerir.

ARM64'te vDSO32

Android 10, 64 bit çekirdeklerde vDSO32 kullanımını destekler.Bu sayede pil ömründe yüzde 0,4 artış ve performansta diğer iyileştirmeler elde edilir.

Erken monte edilen bölümler için fstab girişleri

Android 10, cihazların ilk aşama ramdisk'inde bir fstab dosyası kullanarak erken monte edilen bölümler için fstab girişleri belirtmesini gerektirir.

HIDL

Offload BroadcastQueue

Android 10, mevcut arka plan ve ön plan sıralarına yeni bir yük aktarma BroadcastQueue işlevi ekler. Boşaltma kuyruğu, arka plan kuyruğuyla aynı önceliğe ve zaman aşımı davranışına sahiptir. Daha ilgi çekici veya kullanıcı tarafından görülebilen yayınların gerçekleşebileceği arka plan kuyruğunun engellenmesini önlemek için yayın kuyruğu, birçok uygulamanın dinlediği ve tamamlanması uzun zaman alabilen BOOT_COMPLETED yayınını yönetir. Boşaltma sırası şu anda yalnızca BOOT_COMPLETED yayınını yönetiyor ancak diğer uzun yayınları da yönetebilir.

SystemSuspend hizmeti

Android 10, sistem askıya alma işlemini başlatmaktan sorumlu libsuspend'deki mesaj dizisini SystemSuspend HIDL hizmeti ile değiştirir. Bu uygulama, Android HIDL altyapısının avantajlarından yararlanırken önceki sürümlerle eşdeğer işlevler sunar.

HIDL'de safe_union

Android 10, HIDL'de açıkça etiketlenmiş bir birleştirme türü olan safe_union'u kullanıma sunar.

Yapılandırma

ConfigStore HAL

Android 10, yüksek bellek tüketimi ve zor kullanım nedeniyle ConfigStore HAL desteğini sonlandırıyor ve HAL'i sistem özellikleri ile değiştiriyor.

Yapılandırma Dosyası Şeması API'si

Android platformu, yapılandırma verilerini depolamak için çok sayıda XML dosyası içerir. XML dosyalarının çoğu vendor bölümündedir ancak system bölümünde okunur. Bu durumda, XML dosyasının şeması iki bölüm arasındaki arayüz görevi görür. Bu nedenle, şema açıkça belirtilmeli ve geriye dönük uyumlu bir şekilde gelişmelidir. Android 10'dan önce platform, XML şemasını belirtmeyi ve kullanmayı zorunlu kılacak veya şemada uyumsuz değişiklikleri önleyecek mekanizmalar sağlamadı. Android 10, yapılandırma dosyası şeması API'si olarak adlandırılan bu mekanizmayı sağlar.

API olarak sistem özellikleri

Bölümler arasında erişilen sistem özellikleri, sysprop açıklama dosyalarında şemaya dönüştürülür ve özelliklere erişmek için API'ler C++ için somut işlevler ve Java için sınıflar olarak oluşturulur.

Tedarikçi firma arayüzü (VINTF) nesnesi

VINTF

Android 10'da VINTF'de yapılan değişiklikler şunlardır:

  • AVB sürüm etiketlerinin desteği sonlandırılıyor
  • OTA paketlerine çekirdek bilgileri ekleme
  • ODM manifestlerini resmi olarak oluşturma
  • Ürün uyumluluk matrisi ekleme
  • Derleme sisteminde bir manifest girişini HAL modülüyle ilişkilendirme

Önyükleyici

Ramdisk

Android 10'da kök dosya sistemi artık ramdisk.img'e dahil edilmez ve bunun yerine system.img ile birleştirilir.

ODM bölümlendirmeleri oluşturma

Android 10, Android derleme sistemini kullanarak odm bölümlerinin oluşturulması için destek içerir. Özelleştirmeler için ayrı bir /odm bölümü kullanabilirsiniz. Bu bölüm, birden fazla donanım SKU'su için tek bir tedarikçi resmi kullanmanıza olanak tanır. Bu sayede özgün tasarım üreticileri (ODM'ler), çip üzerinde sistem (SoC) tedarikçisi kart destek paketlerini (BSP'ler) kendi cihazlarına (kartlarına) göre özelleştirebilir. Karta özgü bileşenler, karta özgü daemon'lar veya donanım soyutlama katmanlarında (HAL'ler) kendi özelliklerini içeren çekirdek modülleri uygulayabilirler. Ayrıca SoC bileşenlerini değiştirebilir veya özelleştirebilirler.

Önyükleme resmi başlık sürümü

Android 10, önyükleme resmi başlığını 2. sürüme günceller. Bu sürüm, cihaz ağacı blob'unu (DTB) depolamak için bir bölüm içerir. Android 10 VTS testleri, Android 10 ile kullanıma sunulan tüm cihazların 2. sürümlük önyükleme resmi üstbilgisi kullandığını ve önyükleme/kurtarma resimlerinin bir parçası olarak geçerli bir DTB resmi içerdiğini doğrular.

A/B olmayan cihazlar için kurtarma resimleri

Android 9 ve sonraki sürümlerde cihazın kurtarma resmi, yer paylaşımı resmindeki bilgileri içermelidir. Cihaz üreticileri, bulunamayan tüm cihazları tanımlamak için DeviceTree veya Gelişmiş Yapılandırma ve Güç Arayüzü'nü (ACPI) kullanabilir. Android 10 ve sonraki sürümler, yer paylaşımı için DeviceTree blob'u yerine ACPI kullanan mimariler için destek içerir (DTBO).

Kararlı AIDL

Android 10, kararlı Android Arayüz Tanımlama Dili (AIDL) desteğini ekler. Bu dil, AIDL arayüzleri tarafından sağlanan uygulama programlama arayüzünü (API)/uygulama ikili arayüzünü (ABI) takip etmenin yeni bir yoludur.

Hızlı önyüklemeyi kullanıcı alanına taşıma

Android 10, hızlı önyükleme uygulamasını önyükleyiciden kullanıcı alanına taşıyarak yeniden boyutlandırılabilir bölümler için destek ekler.

Ekran

HDR video oynatma

Android 10, HDR10, VP9 ve HDR10+ oynatmayı destekler.

Metin sınıflandırma

Metin sınıflandırma, geliştiricilerin metni sınıflandırmasına yardımcı olmak için makine öğrenimi tekniklerinden yararlanır. Android 10, TextClassifier API'ye iki yöntem ekler: suggestConversationActions ve detectLanguage. suggestConversationActions yöntemi, belirli bir görüşmeden önerilen yanıtlar ve işlemler oluşturur. detectLanguage yöntemi ise metnin dilini tespit eder.

Zawgyi yazı tipi oluşturma desteği

Myanmar'da en popüler yazı tipi Zawgyi'dir. Android 9 ve önceki sürümler, Unicode uyumlu olmadığı için Zawgyi'yi oluşturmayı desteklemiyordu. Android 10, hem Unicode Burmaca hem de Zawgyi'yi birlikte oluşturabilen bir Unicode yazı tipi ekleyerek bu sorunu giderir. Android 10 ile kullanıma sunulan cihazlarda Zawgyi yazı tipi oluşturma özelliğini desteklemek için herhangi bir uygulama çalışması gerekmez. Cihazlarınızda Zawgyi'yi destekleyen özel bir uygulama varsa şunları yapabilirsiniz:

  • Bu değişiklikleri geri alın ve platform tarafından desteklenen yöntemi kullanın.
  • Sisteminizde yaygın Zawgyi yazı tipini kullanın ve fonts.xml dosyanızda my-qaag yerel ayar kodunu kullanın. Daha fazla bilgi için Zawgyi (Qaag) ile ilgili Unicode CLDR sürüm notlarına bakın.

Uygulama simgelerini gizlemeyle ilgili sınırlamalar

Android 10, uygulamaların başlatıcı simgelerini gizleme özelliğini sınırlandırır. Bir uygulamanın başlatıcı etkinliği etkin değilse sistem, başlatıcıda sentezlenmiş bir etkinlik gösterir. Bu sentezlenmiş etkinlik, uygulamanın sistem ayarlarındaki ayrıntılar sayfasını temsil eder.

Uygulama simgelerinin gösterilmesi için kullanılan mantık hakkında daha fazla bilgi (ör. uygulama simgelerinin gösterilmediği uygulama türleri) için API referansında getActivityList() ile ilgili dokümanları inceleyin.

Ayarlar

Erişilebilirliği iyileştirmek için Android 10'da kullanıcı tarafından özelleştirilebilen zaman aşımı ayarları bulunur. API ve Ayarlar değişiklikleri Android 10 ile birlikte sunulur. Ayarlarınızı özelleştirirseniz bu özelliğin desteklenip desteklenmediğinden emin olun. Cihazınızda zaman aşımı olan kullanıcı arayüzü öğeleriniz varsa bunlarda timeouts API'yi kullanın. Daha fazla bilgi için Android geliştirici erişilebilirlik yönergelerine bakın.

Uyumluluk

Android Uyumluluk Tanımlama Belgesi (CDD)

Android 10 Uyumluluk Tanımlama Dokümanı, yeni özelliklerle ilgili güncellemeler ve daha önce yayınlanan işlevlerle ilgili şartlarda yapılan değişikliklerle önceki sürümleri temel alır.

Testler

Uyumluluk Test Paketi (CTS)

Android CTS'de, Android 10 ile ilgili birçok önemli değişikliğin listelendiği ayrı bir sürüm notları sayfası bulunur.

CTS indirmeleri

Android 10'u destekleyen CTS paketleri CTS İndirmeleri sayfasında bulunabilir. Dahil edilen testlerin kaynak kodu, açık kaynak ağacındaki android-cts-10_r1 etiketiyle senkronize edilebilir.

CTS shim APEX

Android 10'da, APEX yönetimi için CTS testleri yazmak üzere cihaza önceden yüklenmesi gereken CtsShimApex adlı bir paket kullanıma sunulmuştur.

Test bandı modu

CTS test donanım modu, geliştiricilerin bir cihaz veya cihaz grubu için testleri otomatikleştirmesine yardımcı olur.

Hazır Uygulamalar modu

Android 10'dan itibaren CTS, Hazır Uygulamalar modunda çalışır. Bu, test APK'sının Hazır Uygulama olarak yüklenmesi ve testlerin çalıştırılması anlamına gelir.

Android 10, Hazır Uygulamalar için CTS moduna ek olarak Hazır Uygulamalar için CTS Doğrulayıcı'yı da içerir.

CTS Verifier pro ses testi

Android 10, Pro Audio uyumluluğu için bir CTS Doğrulayıcı testi ekler.

CTS Doğrulayıcı MIDI testleri

Android 10'da CTS Doğrulayıcı MIDI testi, USB MIDI arayüzleri, Bluetooth MIDI arayüzleri ve sanal MIDI cihaz yolu ile MIDI işlevini test eder.

CTS testi yorumu

Android 10, CTS sonuçlarını yorumlama mekanizmasını güncelledi.

Tedarikçi Test Paketi (VTS)

Hata ayıklama ramdisk'i ile VTS testi

Android 10'da, GSI'de CTS/VTS uyumluluk testini çalıştırmak için kullanılan genel sistem resmi (GSI), GSI yayın imzalandığında kullanıcı hata ayıklama sürümünden kullanıcı derleme türüne geçer. Ancak, test edilen Android cihaza ana makine kök izinleri veren adb root komutu, kullanıcı derlemesinde kullanılamaz. VTS'nin çalışması için adb root gerekli olduğundan bu bir sorundur.

Hata ayıklama ramdisk'i, cihazın kilidi açıksa adb root'yi etkinleştirmek için kullanıma sunulmuştur. Bu, aynı kullanıcı derlemesini system.img (GSI veya OEM'nin system.img) yeniden kullanarak test akışını basitleştirir.

Donanım Oluşturucu doğrulaması

Android 10, IComposerClient.hal'deki readback arayüzü üzerinden donanım derleyici doğrulaması için yeni bir VTS test sınıfı ekler. Tedarikçi firmalar readback'ü uygulamazsa testler otomatik olarak geçer.

Hata ayıklama

Paylaşılan kitaplıkları farklı sınıf yükleyicilerle yükleme

Android 9 ve önceki sürümlerde uygulamalar, bağlı Java paylaşılan kitaplıklarını uygulamanın sınıf yükleyicisine yüklerdi. Android 10'da çerçeve, uses-library veya uses-static-library üzerinden bağlanan Java paylaşılan kitaplıklarını yüklemek için uygulamanın sınıf yükleyicisinden farklı bir sınıf yükleyici kullanır.

Genel olarak uygulamalar belirli bir sınıf yükleyici kullanmaya bağlı olmamalıdır. Bu nedenle, bu değişiklik uygulama davranışını etkilemez. Ancak uygulama tek bir sınıf yükleyici kullanıyorsa bu davranış bozulur. Ayrıca, aynı paketteki sınıfların pakete özel görünürlük özelliği hâlâ desteklenmektedir ancak paylaşılan kitaplıklarda desteklenmez.

Cihaz üreticileri, Android 10 çalıştıran cihazlarını test ederken uygulama uyumluluğu sorunları görebilir.

Güvenlik özellikleri

Yalnızca güvenlik ve gizlilikle ilgili geliştirmelerin daha kapsamlı bir listesi için Android 10 güvenlik ve gizlilik geliştirmeleri sayfasına bakın.

Yüzle kimlik doğrulama

Yüz kimlik doğrulama, kullanıcıların cihazlarının ön tarafına bakarak cihazlarının kilidini açmasına olanak tanır. Android 10, desteklenen donanımlarda yüz kimlik doğrulaması sırasında güvenlik ve gizliliği koruyarak kamera karelerini güvenli bir şekilde işleyebilen yeni bir yüz kimlik doğrulama paketi desteği ekler. Android 10, güvenlikle uyumlu uygulamaların online bankacılık veya diğer hizmetler gibi işlemler için uygulama entegrasyonunu etkinleştirmesini de kolaylaştırır.

Genişletilmiş erişim

Smart Lock gibi üçüncü taraf kimlik doğrulama mekanizmaları tarafından kullanılan temel mekanizma olan güven aracıları, yalnızca Android 10'da kilit açma süresini uzatabilir. Güven aracıları artık kilitlenen bir cihazın kilidini açamaz ve bir cihazın kilidini en fazla dört saat açık tutabilir.

Şifreleme

OEMCrypto

Android 10, OEMCrypto API 15 sürümünü kullanır.

Test

BoundsSanitizer

Android 10, Bluetooth ve codec'lerde BoundsSanitizer (BoundSan)'ı dağıtır. BoundSan, UBSan'ın sınır temizleyicisini kullanır. Bu azaltma, modül başına düzeyde etkinleştirilir. Android'in kritik bileşenlerinin güvende kalmasına yardımcı olur ve devre dışı bırakılmamalıdır. BoundSan aşağıdaki codec'lerde etkindir:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec
  • libaac
  • libxaac

Tam Sayı Taşması Temizleme

Android 10, yazılım codec'lerinde Tam Sayı Aşımı Sanitasyonu (IntSan)'nu etkinleştirir. Oynatma performansının, cihazın donanımında desteklenmeyen tüm codec'ler için kabul edilebilir olduğundan emin olun. IntSan aşağıdaki codec'lerde etkindir:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec

Yalnızca yürütme belleği

AArch64 sistem ikili dosyalarının yürütülebilir kod bölümleri, tam zamanında kod yeniden kullanma saldırılarına karşı bir güçlendirme azaltma olarak varsayılan olarak yalnızca çalıştırılabilir (okunamaz) olarak işaretlenir. Verileri ve kodu birlikte karıştıran kodlar ve bu bölümleri kasıtlı olarak inceleyen kodlar (öncelikle bellek segmentlerini okunabilir olarak yeniden eşlemeden) artık çalışmıyor. Hedef SDK'sı Android 10 (API düzeyi 29 veya üstü) olan uygulamalar, önce bölümü okunabilir olarak işaretlemeden bellekte yalnızca çalıştırılabilir bellek (XOM) etkin sistem kitaplıklarının kod bölümlerini okumaya çalışırsa etkilenir.

Scudo

Scudo, yığınla ilgili güvenlik açıklarına karşı daha dirençli olacak şekilde tasarlanmış dinamik bir kullanıcı modu bellek ayırıcısıdır. Standart C ayırma ve ayırma işlemi temel öğelerinin yanı sıra C++ temel öğelerini sağlar.

ShadowCallStack

ShadowCallStack (SCS), bir işlevin döndürdüğü adresi, yapraklı olmayan işlevlerin işlev prologunda ayrı olarak ayrılmış bir ShadowCallStack örneğine kaydedip döndürülen adresi işlev epilogundaki ShadowCallStack örneğinden yükleyerek döndürülen adresin üzerine yazılmasına (ör. yığın arabelleği taşmaları) karşı koruma sağlayan bir LLVM enstrümantasyonu modudur.

Ses

Ses HAL'si

Android 10, ses HAL için aşağıdaki yeni özellikleri içerir.

  • AudioSource
  • AudioFormat
  • AudioChannelMask

Ses HAL'i ve alt sistem uygulaması için ek şartlar eklendi.

Ön işleme efektleri

Android; akustik yankı giderme, otomatik kazanç kontrolü ve gürültü azaltma gibi ön işleme efektleri sağlar. Android 10, VOICE_COMMUNICATION ile çekim yapmayla ilgili yeni şartlar içerir.

Ses politikası yöneticisi

Android 10, karmaşık otomotiv kullanım alanlarını desteklemek için daha fazla esneklik sağlamak amacıyla ses politikası yöneticisinde önemli bir yeniden yapılandırmayı içerir.

Yüksek çözünürlüklü ses

Android 10, yüksek çözünürlüklü ses için aşağıdaki iyileştirmeleri içerir.

  • Yüzen destek
  • 192 KHz frekans desteği
  • Sekiz kanal desteği
  • Zamanlama bilgilerinin eklenmesi

Eşzamanlı yakalama

Android 10, aynı anda birden fazla etkin ses kaydı yapılmasını gerektiren eşzamanlı kayıt kullanıcı deneyimini iyileştirir.

AudioPlaybackCapture

Android 10, uygulamalara diğer uygulamalar tarafından çalınan sesi kopyalama olanağı tanıyan AudioPlaybackCapture adlı yeni bir API içerir. Bu özellik, ekran görüntüsü özelliğine benzer ancak ses içindir. Bu API'nin birincil kullanım alanı, yayın uygulamalarının oyunlarda çalınan sesi yakalamasını sağlamaktır.

Kayıt API'si, sesi kaydedilen uygulamanın gecikmesini etkilemez.

MIDI

Android 10, AMidi NDK API'yi kullanarak MIDI kullanan profesyonel ses uygulamalarını Android platformuna taşımayı kolaylaştırır.

Kamera

Android 10'da kamera API'sinde, kamera HAL'inde ve kamera modülünde yapılan değişikliklerin özetini Android 10 kamera güncellemeleri başlıklı makalede bulabilirsiniz.

Kamera çerçevesi gizlilik iyileştirmeleri

Android 10, kamera çerçevesinde gizlilik iyileştirmeleri sunar. Kullanıcı izni olmadan CameraCharacteristics bölümünde hassas olabilecek statik kamera bilgilerini göstermemek için uygulamaların, getCameraCharacteristics yöntemini kullanarak gizlilik açısından hassas bir etiketle statik meta verileri alma izni CAMERA alması gerekir.

CAMERA izni gerektiren kamera özelliği anahtarlarının listesini almak için getKeysNeedingPermission yöntemini çağırın.

Oturum yeniden yapılandırma sorgusu

Android 10, dahili oturum parametresi yeniden yapılandırma mantığı üzerinde daha fazla kontrol sağlayarak performansı artıran bir oturum yeniden yapılandırma sorgusu özelliği ekler.

Kamera HAL3 arabellek yönetimi API'leri

Android 10, kamera HAL uygulamalarında farklı bellek ve yakalama gecikmesi dengeleri elde etmek için arabellek yönetimi mantığını uygulamanıza olanak tanıyan isteğe bağlı kamera HAL3 arabellek yönetimi API'lerini kullanıma sunar.

Kamera HAL dinamik fiziksel kamera anahtarı

Android 10, mantıksal kamera cihazının etkin temel fiziksel kamerasını gösteren dinamik bir meta veri etiketi ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID sunar. Daha fazla bilgi için Çoklu Kamera Desteği bölümüne bakın.

Fiziksel kameraları gizleme desteği

Android 10'da kamera HAL, doğrudan bir uygulama tarafından açılabilen fiziksel kameraların sayısını azaltabilir. Daha fazla bilgi için Çoklu Kamera Desteği başlıklı makaleyi inceleyin.

Camera2 VNDK API

Android 10'da tedarikçi modülleri, android.frameworks.cameraservice.service@2.0 ve android.frameworks.cameraservice.device@2.0 adlı iki yeni standart HIDL arayüzü aracılığıyla kamera cihazlarına erişebilir ve bu cihazları kontrol edebilir. Android 10, HIDL arayüzlerinin kullanımını daha da kolaylaştırmak için tedarikçi firma tarafından sağlanan libcamera2_vendor kitaplığını da kullanıma sunar. Bu kitaplık, birkaç küçük değişiklikle birlikte Kamera NDK kitaplığına benzer.

Akış yapılandırmaları

Android 10, kamera tedarikçilerinin kamera istemcilerine önerilen kamera akışlarının reklamını yapmasına ve akış kombinasyonlarını sorgulamak için bir API desteklemesine olanak tanıyan özellikler ekler.

Kamera akışı birleştirme şartları

Android 10 çalıştıran cihazların artık fiziksel alt kamera akışlarıyla yayın kombinasyonlarını desteklemesi gerekmez. Ancak, kamera HAL cihaz sürümü 3.5 ile Android 10 çalıştıran cihazların, uygulamaların fiziksel akışlar içeren bir akış kombinasyonunun desteklenip desteklenmediğini sorgulamasına izin vermek için isStreamCombinationSupported() özelliğini desteklemesi gerekir.

Daha fazla bilgi için Çoklu Kamera Desteği bölümüne bakın.

HEIF görüntüleme

Android 10, JPEG resimlere kıyasla daha iyi görüntü kalitesi ve daha küçük boyutlar sunan yüksek verimli resim dosyası biçimi (HEIF) resimleri için yerel kamera desteği sağlar. HEIF resimleri desteklemek için cihazlarda HEIC veya HEVC kodlayıcı olmalıdır.

Tek renkli kameralar

Android 10, Y8 akış biçimi, tek renkli ve yakın kızılötesi (NIR) renk filtresi dizisi statik meta verileri ve tek renkli kameralar için DngCreator işlevleri için ek destek sağlar.

Bağlantı

Arama ve mesajlaşma

Acil durum numaraları ve acil durum araması

Android 10, acil durum aramaları için daha iyi destek sunar. Acil durumlarda, IRadio HAL v1.4 desteğine sahip cihazlar SIM kart, ağ sinyali veya Android veritabanı gibi bir kaynaktan alınan acil durum numaralarını kullanarak acil durum araması başlatabilir. Numaralar polis, itfaiye ve ambulans gibi acil durum hizmet kategorilerine göre sınıflandırılabilir.

Grup görüşmesi API'leri

Grup görüşmesi API'leri, Android 9'a eklenen eMBMS API'lerinin bir uzantısıdır. Yeni API'ler, eMBMS orta katman paketleriyle etkileşime geçerek uygulamaların hücresel yayın grup görüşmelerine katılması ve bu görüşmelerde yayın yapması için bir standart tanımlar. Grup aramalarının düzgün çalışması için çip seti tedarikçisinin, orta katman tedarikçisinin ve hücresel operatörün desteği gerekir. Geliştirici dokümanları developer.google.com adresinde yer alır.

Uzaktan SIM özellikleri

Android 10, Android ana cihazdaki mesajlaşma uygulamalarının Bluetooth gibi mekanizmaları kullanarak telefonlar üzerinden SMS mesajları göndermesine olanak tanıyan uzak SIM özelliklerini kullanıma sunar. Daha fazla bilgi için getSubscriptionType yöntemi ve SUBSCRIPTION_TYPE_REMOTE_SIM sabitinin referans dokümanlarına bakın.

Birden fazla eSIM

Android 10'da EuiccManager sınıfı, birden fazla yerleşik SIM (eSIM) veya eUICC'ye sahip cihazları destekler.

eSIM güncellemeleri

Android 10 yüklü ve eSIM'leri destekleyen cihazlar için çıkarılamayan bir eUICC yuvası kimliği dizisi tanımlanmalıdır. Cihazlar ayrıca IRadio HAL v1.4 ve IRadioConfig HAL v1.2'yi de desteklemelidir. Daha fazla bilgi için eSIM'i uygulama ve HAL Şartları başlıklı makaleleri inceleyin.

Bağımsız Olmayan 5G (NSA)

Android 10, bağımsız olmayan (NSA) 5G desteği ekler. 5G NSA, ağın mevcut bir 4G altyapısı tarafından desteklendiği 5G ağları için bir çözümdür. Android 10'da, cihaz 5G ağına bağlandığında durum çubuğunda 5G simgesi gösterilebilir.

Telefon hesabı önerisi

Android 10, arama yaparken kullanıcılara telefon hesabı önerileri gösterilmesine olanak tanıyan telefon hesabı öneri hizmeti sunar.

Operatör

Mobil ağ ayarlarını taşıma

Android 10, Mobil Ağ ayarları kullanıcı arayüzü kodunu yeniden tasarladı ve Telephony yığınından Ayarlar yığınına taşıdı. Taşınan kodu desteklemek için aşağıdaki Mobil Ağ ayarları yapılandırma değerlerini Android kaynaklarından CarrierConfig kaynaklarına değiştirin:

config_world_mode -> CarrierConfigManager#KEY_WORLD_MODE_ENABLED_BOOL

config_support_tdscdma -> CarrierConfigManager#KEY_SUPPORT_TDSCDMA_BOOL

config_support_tdscdma_roaming_on_networks -> CarrierConfigManager#KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY

config_enabled_lte -> CarrierConfigManager#KEY_LTE_ENABLED_BOOL

Cihaz tanımlayıcıları

Kalıcı cihaz tanımlayıcıları (IMEI/MEID, IMSI ve yapı seri numarası), cihaz ve profil sahibi uygulamalarına da erişim izni verilen ayrıcalıklı bir izinle korunur. IMSI ve SIM seri numarası operatör tarafından sağlandığından, bu tanımlayıcılara erişim, operatör ayrıcalıklarına sahip paketlere verilir.

Kablosuz bağlantı

Ağ seçimi

Android, bağlı ağın kalitesini ve kullanılabilir ağların kalitesini sürekli olarak değerlendirir. Android 10'da kablosuz ağları seçme ve bunlar arasında geçiş yapma ile ilgili algoritmalar ve prosedürler güncellendi.

Kablosuz tercih edilen ağ aktarımı taraması

Android 10, güç kullanımını azaltmak için cihaz sabitken tercih edilen ağdan aktarım (PNO) taramaları arasındaki aralığı artıran setDeviceMobilityState() in WifiManager adlı isteğe bağlı bir API yöntemi sunar.

Operatör kablosuz ağı

Android 10'da, operatöre ait kablosuz ağ özelliği bulunan cihazlar, yapılandırılmış operatöre ait kablosuz ağlara (herkese açık anahtar sertifikaları olan ağlar) otomatik olarak bağlanır.

Wi-Fi Kolay Bağlantı

Android 10'da cihazlar, kablosuz cihazları temel hazırlayarak yapılandırmak için Wi-Fi Alliance (WFA) tarafından sunulan cihaz temel hazırlığı protokolünü (DPP) kullanan Kablosuz Kolay Bağlantı'yı kullanabilir.

Kablosuz bağlantı düşük gecikme modu

Android 10, kablosuz çipi gecikmeyi azaltacak şekilde yapılandıran düşük gecikmeli kablosuz modu sunar.

Güncellenen DHCP sunucusu

"IP sunucusu" hizmet çatısı oluşturulması kapsamında dnsmasq siliniyor. Android 10, DHCPv4 sunucu işlevsel kullanımını, Java çerçevesi kontrol düzlemiyle daha iyi entegre olmak için öncelikle Java'da yazılmış ayrı bir bileşenle değiştirir. Bu, DHCP sunucusunun güvenliğini ve güncellenebilirliğini artırır. Daha fazla bilgi için packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java başlıklı makaleyi inceleyin.

Bu değişikliği uygulamak için herhangi bir işlem yapmanız gerekmez. Android 10'u kullanıma sunan ve bu sürüme yükselten tüm cihazlar varsayılan olarak DhcpServer kullanır. DHCP sunucusunda özelleştirmeleriniz varsa tether_enable_legacy_dhcp_server=1 genel ayarını belirleyerek Android 9 davranışına geri dönebilirsiniz. Yeni DhcpServer, ağ bileşenleri modülüne dahil edildiğinden DHCP sunucusu işlevselliğindeki tüm özelleştirmeler yayına aktarılmalıdır.

WPA3 ve Wi-Fi Enhanced Open

Android 10, bilinen saldırılara karşı daha iyi gizlilik ve sağlamlık sağlamak için Kablosuz Korumalı Erişim 3 (WPA3) ve Kablosuz Gelişmiş Açık güvenlik standartlarını destekler.

Kablosuz Doğrudan Bağlantı

Kablosuz P2P olarak da bilinen Kablosuz Doğrudan Bağlantı, desteklenen cihazların internet veya hücresel ağ erişimi olmadan doğrudan Kablosuz Doğrudan Bağlantı protokolünü kullanarak birbirlerini keşfetmesine ve birbirine bağlanmasına olanak tanır.

MAC rastgele hale getirme geliştirmeleri

Android 10'dan itibaren MAC rastgele seçimi, istemci modu, SoftAp ve Wi-Fi Direct için varsayılan olarak etkindir. Cihazlar, sistem kullanıcı arayüzünde her SSID için MAC adresini rastgele hale getirmeyi etkinleştirme veya devre dışı bırakma seçeneği sunmalıdır.

Passpoint R2

Android 10, Passpoint R2 özellikleri için destek sunar. Passpoint R2, yeni Passpoint profilleri oluşturmak için standart bir yöntem olan online kayıt (OSU) özelliğini uygular. Android 10, SOAP-XML kullanılarak EAP-TTLS profillerinin temel hazırlığını destekler.

NFC

NFC'yi güvenli hale getir

Güvenli NFC, NFC kart emülasyonunun yalnızca cihazın ekranının kilidi açıkken etkinleştirilmesine olanak tanır. Bu özelliği uygulamak, kullanıcılara daha iyi güvenlik için Güvenli NFC'yi etkinleştirme seçeneği sunar.

Android Beam desteği sonlandırıldı

Android 10'da Android Beam artık gerekli değildir ve aşağıdaki arayüz ve yöntemlerin desteği sonlandırılmıştır.

Arabirimler:

Yöntemler:

Android Beam'i kullanmak için android.sofware.nfc.beam özellik sabitini bildirin.

Grafik

ASurfaceControl

Android 10, SurfaceFlinger'ın arabellekleri kabul etmesinin yeni bir yolu olan ASurfaceControl özelliğini ekler.

Grafik uygulama

OpenGL ES katmanları

Android 10, GLES için bir katman sistemi sunar.

EGL 1.5

Android 10, EGL 1.5 arayüzünü uygular. EGL 1.5'teki yeni özellikler hakkında bilgi edinmek için Khronos, EGL 1.5 Spesifikasyonunu Yayınladı başlıklı makaleyi inceleyin.

Vulkan

Android 10, Vulkan 1.1 grafikleri için destek içerir. Platform, VK_KHR_swapchain v70'ı da destekler. Bu nedenle Vulkan uygulaması, takas zinciri belleği tarafından desteklenen bir VkImage oluşturabilir.

Performans yenileme hızı

Android 10, performans yenileme hızı desteği ekler. Bu özellik varsayılan olarak devre dışıdır.

Etkileşim

Automotive

Otomobil ses sistemi

Android 10'da ses HAL bağlamı, sesleri tanımlamak için AudioAttributes.usage ile eşlenir. Android, bağlam başına bir AUDIO_DEVICE_OUT_BUS örneğini destekler. IAudioControl HAL, Audio HAL'ye araca özel uzantılar sağlar.

Hareketle gezinme

Android 10, tamamen hareket tabanlı sistem gezinme seçeneği sunar. Uygulamaları bu özelliği kullanacak şekilde hazırlama hakkında bilgi edinmek için Android Developers sitesindeki Hareketle gezinme sayfasına bakın.

Nöral ağlar

Android 10, Nöral Ağlar API'si ve Nöral Ağlar HAL'inde güncellemeler sunar. Değişikliklerin özetini Sinir ağları başlıklı makalede bulabilirsiniz.

Android 10 için yeni ve güncellenmiş Nöral Ağlar dokümanları:

Sensörler

Sensörler HAL 2.0

Sensors HAL 2.0, HAL'den Android Sensörler Çerçevesi'ne sensör etkinlikleri göndermek için hızlı mesaj sıralarının (FMQ'ler) kullanılmasını destekler.

Sensörler kapalı

Android 10, bir cihazdaki tüm sensörleri kapatmak için bir geliştirici ayarı içerir. Bu özellik, geliştiricilerin bu sensörlerin kullanılamadığı durumlarda uygulamalarının işlevini test etmesine yardımcı olur ve kullanıcılara cihazlarındaki sensörleri kontrol etmeleri için bir yol sunar.

Cihazlarınızda SensorService, CameraService ve AudioPolicyService'nin varsayılan uygulaması kullanılıyorsa referans tasarımda ek özelleştirme gerekmez. Başka sensörleriniz varsa bu özelliğin desteklenmesi hakkında daha fazla bilgi için Özelleştirme bölümüne bakın.

Medya

Güncellenebilir medya bileşenleri

Android 10, medyayla ilgili modüler sistem bileşenlerini Google Play Store altyapısı veya iş ortağı tarafından sağlanan kablosuz (OTA) mekanizma üzerinden güncellemeyi sağlayan güncellenebilir medya bileşenleri sağlar.

Medya DRM

Android 10, Java ve NDK API'lerinin faydasını ve kullanılabilirliğini iyileştirir.MediaDrm

Kod çözme

Android 10, AV1 SW kod çözme özelliğini destekler.

İzinler

Android 10, şeffaflık ve kullanıcı gizliliği için ek izin yapılandırmaları sunar.

Kişi sağlayıcı ve yakınlık bilgileri

Android 10'dan itibaren, Kişi Sağlayıcı bileşeni tarafından yönetilen, kişilerle ilgili yakınlık verilerine Android 9 ve önceki sürümlere kıyasla farklı şekilde erişilir. Veri erişimi ile ilgili bu değişiklikler, Kişi Sağlayıcı bileşenini kullanan tüm Android 10 cihazlarda kullanıcı gizliliğini iyileştirir. Temel veritabanı artık kişi yakınlıkları verilerini içermiyor. Bu nedenle, uygulamalar bu alana yazamaz veya bu alandan veri okuyamaz.

Android 10'daki değişikliklerin API'leri büyük ölçüde etkilemesi bekleniyor. Uygulamalarınız, Kişi Sağlayıcı ve İlgi Alanı Bilgileri bölümünde belirtilen desteği sonlandırılmış özelliklerden yararlanıyorsa değişiklikleri telafi etmek için uygulamalarınızı güncelleyebilirsiniz. Ayrıca, Kişi Sağlayıcı'nın çatallanmış bir sürümünü kullanıyorsanız Kişi Sağlayıcı'nızı güncellemeniz gerekir.

Üç durumlu konum izinleri

Android 10'daki üç durumlu konum izinleri, kullanıcılara uygulamaların cihaz konumlarına nasıl eriştiği konusunda daha fazla kontrol sağlar.

Arka planda konum erişimi hatırlatıcısı

Android 10'da, uygulamaların cihazın konumuna ne kadar erişimi olduğu konusunda şeffaflığı artıran ve kullanıcıların bu tür erişim üzerinde kontrol sahibi olmasına yardımcı olan bir arka planda konum erişimi hatırlatıcısı bulunur.

Fırsatçı konumları kısıtlama

Bir uygulama, cihazın konumunu istediğinde istek yanıtını bekleyebilir veya etkin konum dinleyicilerini kullanarak fırsatçı bir konum güncellemesi alabilir. Android 10'dan itibaren, fırsatçı konum güncellemeleri almak için geliştiricilerin FusedLocationProviderClient sınıfından pasif konum güncellemelerine ihtiyaç duyduklarını belirtmesi gerekir.

Arka planda uygulama başlatma

Android 10'da, görünür bir penceresi olmayan ayrıcalıklı olmayan uygulamalar kendilerini otomatik olarak ön planda başlatamaz. Bu değişiklik, reklam pop-up'larını ve kötü amaçlı devralmaları engeller. Bu özelliği etkinleştirmek için herhangi bir işlem yapmanız gerekmez.

Uygulama korumalı alanı

Android 10'da uygulamalar, dosya sisteminin sınırlı bir ham görünümüne sahiptir ve /sdcard/DCIM gibi yollara doğrudan erişemez. Ancak uygulamalar, Context.getExternalFilesDir() gibi geçerli yöntemler tarafından döndürülen pakete özgü yollarına tam ham erişim elde eder. Uygulamalar, paketlerine özgü yollara tam ham erişim elde etmeye devam eder.

Uygun veri paylaşımı ayrıntı düzeyini sağlamak için uygulama korumalı alanındaki dosya paylaşımı yönergelerini kullanın.

Uygulamaların pano erişimini kısıtlama

Android 10'da, ClipboardManager.getPrimaryClip çağrılarak veya onPrimaryClipChangedListener dinleyici eklenerek panosundaki içeriğin izlenememesi için pano erişimi değiştirildi. Bu, kullanıcı gizliliğini artırır ve kötü amaçlı reklam uygulamaları tarafından panonun değiştirilmesini devre dışı bırakır.

Android 10'da salt okuma erişimine yalnızca giriş odaklı mevcut uygulamaya veya mevcut klavyeye izin verilir. ClipboardManager.onPrimaryClipChanged() dinleyici çağrısı artık yalnızca bu tür kısıtlamaları karşılayan uygulamalarda tetikleniyor. ClipboardManager.getPrimaryClip ve ClipboardManager.getPrimaryClipDescription, istek gönderen uygulama varsayılan giriş yöntemi düzenleyicisi (IME) değilse veya giriş odağına sahip değilse null döndürür.

Çalışma zamanında istenen izinler arasında aktivite algılama da yer alır

Kullanıcılar artık bir uygulama arka planda cihaz konumuna erişirken etkinlik algılama iletişim kutusunu görür. Katı şekilde kısıtlanmış çalışma zamanında istenen izinler, Android 10'da uygun şekilde izin verilenler listesine eklenmelidir.

MANAGE_DEVICE_ADMINS izni

Android 10, MANAGE_DEVICE_ADMINS iznine ait imza veya ayrıcalıklı seçeneklerini yalnızca imza olarak değiştirir. Bu nedenle, yalnızca platform tarafından imzalanan uygulamalar diğer uygulamaları cihaz yöneticisi olarak ayarlayabilir.

Sharing API iyileştirmeleri

Android 10, paylaşımla ilgili yeni Android Platform API özellikleri sunar. Uygulamanızdaki Paylaşım Sayfası kodunu değiştirdiyseniz uygulamanızın bu yeni özellikleri desteklediğinden emin olun. Uygulamanızdaki Paylaşım Sayfası kodunu değiştirmediyseniz bu yeni özellikleri desteklemek için herhangi bir işlem yapmanız gerekmez.

Android Çalışma Zamanı (ART)

İmzalı Yapılandırma

İmzalanmış Yapılandırma özelliği, SDK dışı arayüz kısıtlamalarının yapılandırmasını APK'lara yerleştirmenize olanak tanır. Bu sayede, AndroidX'in güvenli bir şekilde kullanabilmesi için belirli SDK dışı arayüzleri kara listeden kaldırabilirsiniz. Bu değişiklik sayesinde AndroidX, eski Android sürümlerinde yeni özellikler için destek ekleyebilir.

Performans

Cgroup soyutlama katmanı

Android 10, geliştiricilerin bir iş parçacığına veya işleme uygulanacak bir dizi kısıtlamayı tanımlamak için kullanabileceği bir cgroup soyutlama katmanı ve görev profilleri içerir.

Bellek Azaltıcı Arka Plan Programı (lmkd)

Android 10, bellek basıncı algılama için çekirdek basınç duraklatma bilgileri (PSI) monitörlerini kullanan yeni bir lmkd modunu destekler.

Güç

Platform güç yönetimi

Android 10'da Dinlenme modu, her zaman açık cihazların yanı sıra pille çalışan cihazlarda da etkinleştirilebilir.

Rutin pil tasarrufu

Android 10, rutine göre adlı yeni bir pil tasarrufu programı seçeneği sunar. Günlük pil tasarrufu, OEM tarafından seçilen bir uygulamanın daha akıllı pil tasarrufu planlaması için sisteme sinyal göndermesine olanak tanır. Bu seçenek için yapılandırma gerekir ve isteğe bağlı olarak uygulanabilir.

Güç istatistikleri HAL

Android 10'da IPowerStats.hal, IPower.hal'teki güç istatistikleri toplama API'lerinin yerini alır. Güç HAL'i API'leri hâlâ desteklese de gelecekte API'ler yalnızca güç istatistikleri HAL'ine taşınacaktır.

Güç istatistikleri HAL'i, desteklenen cihazlarda cihaz üzerinde güç ölçümünden veri toplamayı destekleyen yeni API'ler içerir. Mevcut güç istatistikleri toplama API'leri de esnekliği artırmak için güncellendi. Güç ipucu API'leri güç HAL'de kalır ve değişmez.

Isı azaltma

Android 10'daki termal çerçeve, CPU, GPU, pil, kaplama ve soğutma cihazı dahil olmak üzere termal alt sistem sıcaklık sensörü için cihaz arayüzlerini soyutlar. Çerçeve, termal durumu sorgulayarak akış kısıtlamasını başlatmak için bir anket arayüzü ve bir eşik aşıldığında kullanıcıya mesaj göndermek için bir geri çağırma arayüzü sunar.

Android 10, yeni veri türlerini IThermalService arayüzü üzerinden şu üç yeni yöntemi kullanarak sağlar:

Uygulamalar, dinleyici ekler ve kaldırır ve PowerManager sınıfında sıcaklık durumuna erişir. Yalnızca Android API veya cihaz üreticisi API gibi güvenilir bir sistem hizmeti, ilişkili nedensel olaylarla ilgili bilgilere erişebilir. Cihaz üreticileri veya SoC üreticileri, yeni termal çerçevenin tüm işlevlerini etkinleştirmek için thermal HAL 2.0'ü uygulamalıdır.

Isı azaltma uygulaması örneği için Referans uygulama bölümüne bakın.

Güncellemeler

APEX dosya biçimi

Android Pony EXpress (APEX), modüler sistem bileşenlerinin yükleme akışında kullanılan yeni bir kapsayıcı biçimidir.

Dinamik bölümler

Dinamik bölümler, Android'e kullanıcı alanı bölümlendirme sistemi ekler. Bu sistem, OTA güncellemeleri sırasında bölümlerin oluşturulmasına, yeniden boyutlandırılmasına veya silinmesine olanak tanır. Cihaz üreticilerinin system, vendor ve product gibi bölümlerin ayrı ayrı boyutları hakkında endişelenmesi gerekmez. Bunun yerine, büyük bir super bölümü ayrılır ve alt bölümler bu bölüm içinde dinamik olarak boyutlandırılabilir.

Dinamik sistem güncellemeleri

Dinamik sistem güncellemeleri (DSU), kullanıcıların internetten indirip mevcut sistem görüntüsünü bozma riski olmadan deneyebileceği bir Android sistem görüntüsü oluşturmanıza olanak tanır.

Çok kullanıcılı yedekleme ve geri yükleme

Android 10, cihazdaki tüm kullanıcılar için yedekleme ve geri yükleme işlevini destekler. Daha önce yedekleme ve geri yükleme özelliği yalnızca sistem kullanıcısı tarafından kullanılabiliyordu. Sistem dışı kullanıcılar için yedekleme ve geri yükleme özelliği, ayarlar, duvar kağıdı ve sistem bileşenleri için yalnızca kısmi kapsama sahip olduğundan varsayılan olarak devre dışıdır.

Overlayfs

userdebug veya eng derlemeleriyle çalışan kullanıcılar, sistem bölümünü verimli bir şekilde salt okunur olarak yeniden bağlayabilmeyi ve ardından sistem görüntüsünü yeniden yüklemeden istedikleri sayıda dosya ekleyebilmeyi veya değiştirebilmeyi bekler. Yazılabilir bir dosya sistemi için üst referans olarak yedek depolama alanını otomatik olarak ayarlayan ve alt depolama alanının üzerine monte eden Overlayfs seçeneğini kullanabilirsiniz. Bu işlemler adb disable-verity ve adb remount isteklerinde gerçekleşir. Ayrıntılı bilgi için AOSP'deki Overlayfs README dosyasını inceleyin.

Kurtarma modunda paylaşılan kitaplık desteği

Android 10'da paylaşılan kitaplıklar kurtarma bölümünde bulunur. Bu sayede, tüm kurtarma modu yürütülebilir dosyalarının statik olması gerekmez. Paylaşılan kitaplıklar, bölümdeki /system/lib (veya 64 bit cihazlar için /system/lib64) dizininde bulunur.

Kurtarma bölümüne yeni bir paylaşılan kitaplık eklemek için paylaşılan kitaplığın Android.bp bölümüne recovery_available: true veya recovery: true ekleyin. İlk yöntem, kitaplığı hem sisteme hem de kurtarma bölümüne yüklerken ikinci yöntem yalnızca kurtarma bölümüne yükler.

Paylaşılan kitaplık desteği, Android'in make tabanlı derleme sistemiyle derlenemez. Kurtarma modu için mevcut statik yürütülebilir dosyayı dinamik bir dosyaya dönüştürmek isterseniz Android.mk'teki veya Android.bp'teki LOCAL_FORCE_STATIC_EXECUTABLE := true öğesini kaldırın.static_executable: true

Kullanıcı Verileri Kontrol Noktası (UDC)

Android 10, Android kablosuz (OTA) güncellemesi başarısız olduğunda Android'in önceki durumuna geri dönmesine olanak tanıyan Kullanıcı Verileri Kontrol Noktası (UDC) özelliğini kullanıma sunar.