Android 10 sürüm notları

Bu sayfada, Android 10 sürümündeki başlıca özellikler özetlenmekte ve ek bilgilere yönelik bağlantılar verilmektedir. Bu özellik özetleri, özelliğin bu sitedeki doküman konumuna göre düzenlenir.

Derle

java_sdk_library

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

Mimari

Modüler sistem bileşenleri

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

Donanım soyutlama katmanı (HAL)

Android 10, istemcisi olmayan HAL'lerin otomatik olarak kapatılmasını destekler.

Çekirdek

ABI

Android 10, ç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. Bu değişiklikler, çekirdek modülleriyle uyumluluğu etkiler.

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

Android Live-Lock Daemon

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

ARM64'te vDSO32

Android 10, 64 bit çekirdeklerde vDSO32 kullanımını destekler.Bu sayede pil ömründe %0,4 artış ve diğer performans iyileştirmeleri sağlanır.

Erken bağlanan bölümler için fstab girişleri

Android 10, cihazların ilk aşama ramdisk'te fstab dosyası kullanarak erken bağlanan bölümler için fstab girişlerini belirtmesini gerektirir.

HIDL

Offload BroadcastQueue

Android 10, mevcut arka plan ve ön plan sıralarına yeni bir yük boşaltma BroadcastQueue ekler. Boşaltma sırası, arka plan sırası ile aynı önceliğe ve zaman aşımı davranışına sahiptir. Daha ilgi çekici veya kullanıcı tarafından görülebilen yayınların yapılabileceği arka plan sırasının engellenmesini önlemek için boşaltma sırası, birçok uygulamanın dinlediği ve tamamlanması uzun sürebilen BOOT_COMPLETED yayınını işler. Boşaltma sırası şu anda yalnızca BOOT_COMPLETED yayınını işlemektedir ancak diğer uzun yayınları da işleyebilir.

SystemSuspend hizmeti

Android 10, sistemin askıya alınmasını başlatmaktan sorumlu iş parçacığını libsuspend 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şlevsellik sunar.

HIDL'de safe_union

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

Yapılandırma

ConfigStore HAL

Android 10, yüksek bellek tüketimi ve zor kullanım nedeniyle ConfigStore HAL'yi kullanımdan kaldırır ve HAL'yi sistem özellikleriyle değiştirir.

Config File Schema API

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ında arayüz görevi görür. Bu nedenle, şema açıkça belirtilmeli ve geriye dönük uyumlu bir şekilde geliştirilmelidir. Android 10'dan önce platform, XML şemasının belirtilmesini ve kullanılmasını zorunlu kılacak veya şemada uyumsuz değişiklikleri önleyecek mekanizmalar sağlamıyordu. Android 10, Config File Schema API adlı bu mekanizmayı sağlar.

API olarak sistem özellikleri

Bölümler arasında erişilen sistem özellikleri, sysprop açıklama dosyaları halinde şemalandırılır. Özelliklere erişmek için kullanılan API'ler ise C++ için somut işlevler, Java için sınıflar olarak oluşturulur.

Sağlayıcı arayüzü (VINTF) nesnesi

VINTF

Android 10'daki VINTF değişiklikleri şunlardır:

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

Bootloader

Ramdisk

Android 10'da kök dosya sistemi artık ramdisk.img'ye dahil edilmiyor ve bunun yerine system.img ile birleştiriliyor.

ODM bölümleri oluşturma

Android 10, Android derleme sistemini kullanarak odm bölümleri oluşturma desteği içerir. Özelleştirmeler için ayrı bir /odm bölümü kullanabilirsiniz. Bu sayede birden fazla donanım SKU'su için tek bir satıcı resmi kullanabilirsiniz. Bu sayede, özgün tasarım üreticileri (ODM'ler), çip üzerinde sistem (SoC) satıcılarının kart destek paketlerini (BSP'ler) kendi cihazlarına (kartlarına) göre özelleştirebilir. Kartlara özel bileşenler, kartlara özel arka plan programları veya donanım soyutlama katmanlarındaki (HAL'ler) kendi özellikleri için çekirdek modülleri uygulayabilirler. Ayrıca SoC bileşenlerini değiştirebilir veya özelleştirebilirler.

Başlatma görüntüsü başlığı sürüm oluşturma

Android 10, önyükleme görüntüsü başlığını, cihaz ağacı blob'u (DTB) görüntüsünü depolamak için bir bölüm içeren 2. sürüme günceller. Android 10 VTS testleri, Android 10 ile başlatılan tüm cihazların başlatma görüntüsü başlığı sürüm 2'yi kullandığını ve başlatma/kurtarma görüntülerinin bir parçası olarak geçerli bir DTB görüntüsü içerdiğini doğrular.

A/B bölümü olmayan cihazlar için kurtarma görüntüleri

Android 9 ve sonraki sürümlerde, bir cihazın kurtarma görüntüsü, yer paylaşımı görüntüsündeki bilgileri içermelidir. Cihaz üreticileri, keşfedilemeyen tüm cihazları tanımlamak için DeviceTree veya Advanced Configuration and Power Interface'i (ACPI) kullanabilir. Android 10 ve sonraki sürümlerde, kaplama için DeviceTree blob yerine ACPI kullanan mimariler desteklenir (DTBO).

Kararlı AIDL

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

Fastboot'u kullanıcı alanına taşıma

Android 10, fastboot 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 metinleri sınıflandırmasına yardımcı olmak için makine öğrenimi tekniklerini kullanı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 algılar.

Zawgyi yazı tipi oluşturma desteği

Zawgyi, Myanmar'daki en popüler yazı tipidir. Android 9 ve önceki sürümlerde Zawgyi'nin oluşturulması, Unicode uyumlu olmadığı için desteklenmiyordu. Android 10, hem Unicode Birmanca 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şturmayı desteklemek için herhangi bir uygulama çalışması gerekmez. Cihazlarınızda Zawgyi'yi desteklemek için özel bir uygulama varsa:

  • Bu değişiklikleri geri alın ve platform tarafından desteklenen yöntemi kullanın.
  • Sisteminizde yaygın olarak kullanılan Zawgyi yazı tipini koruyun ve fonts.xml dosyanızda yerel kod my-qaag kullanın. Daha fazla bilgi için Unicode CLDR'nin Zawgyi (Qaag) 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 uygulamada başlatıcı etkinliği etkinleştirilmemişse sistem, başlatıcıda sentezlenmiş bir etkinlik gösterir. Bu sentezlenmiş etkinlik, uygulama ayrıntıları sayfasını sistem ayarlarında temsil eder.

Uygulama simgelerini göstermek için kullanılan mantık hakkında daha fazla bilgi edinmek istiyorsanız (ör. uygulama simgeleri gösterilmeyen uygulama türleri) API referansındaki getActivityList() dokümanlarına bakın.

Ayarlar

Android 10, erişilebilirliği artırmak için kullanıcı tarafından özelleştirilebilen zaman aşımı ayarları içerir. API ve ayar değişiklikleri Android 10 ile birlikte gelir. Ayarlarınızı özelleştirirseniz bu özelliğin desteklendiğinden emin olun. Cihazınızda zaman aşımına uğrayan kullanıcı arayüzü öğeleriniz varsa bu öğelerde zaman aşımı API'sini kullanın. Daha fazla bilgi için Android geliştiriciler için erişilebilirlik yönergeleri başlıklı makaleyi inceleyin.

Uyumluluk

Android Uyumluluk Tanımlama Belgesi (CDD)

Android 10 Uyumluluk Tanımı Belgesi, yeni özelliklerle ilgili güncellemeler ve daha önce yayınlanan işlevlerin gereksinimlerinde yapılan değişikliklerle önceki sürümleri tekrarlar.

Testler

Uyumluluk Test Paketi (CTS)

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

CTS indirmeleri

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

CTS shim APEX

Android 10, CtsShimApex adlı bir paket sunar. APEX yönetimi için CTS testleri yazmak üzere bu paketin cihaza önceden yüklenmesi gerekir.

Test bandı modu

CTS test harness modu, geliştiricilerin bir cihaz veya cihaz filosu 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 Doğrulayıcı profesyonel ses testi

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

CTS Doğrulayıcı MIDI testleri

Android 10'da CTS Verifier MIDI testi, USB MIDI arayüzleri, Bluetooth MIDI arayüzleri ve sanal MIDI cihaz yoluyla MIDI işlevini test eder.

CTS testi yorumu

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

Tedarikçi Test Paketi (VTS)

Hata ayıklama ramdiski ile VTS testi

Android 10'da, CTS-on-GSI/VTS uygunluk testini çalıştırmak için kullanılan genel sistem görüntüsü (GSI), GSI yayın için imzalandığından userdebug'dan user derleme türüne değişir. Ancak, test edilen Android cihazda ana makineye kök izinleri veren adb root komutu, kullanıcı derlemesinde kullanılamaz. VTS'nin çalışması için adb root gerektiğinden bu durum sorun teşkil eder.

Cihazın kilidi açılırsa adb root işleminin yapılabilmesi için hata ayıklama ramdiski kullanıma sunulur. Bu, aynı kullanıcı derlemesini system.img (GSI veya OEM'nin system.img) yeniden kullanarak test akışını basitleştirir.

Donanım Composer doğrulama

Android 10, IComposerClient.hal'deki readback arayüzü üzerinden Hardware Composer doğrulama için yeni bir VTS test sınıfı ekler. Tedarikçiler readback özelliğini uygulamıyorsa 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ükleyiciyi kullanmaya güvenmemelidir. Bu nedenle, bu değişiklik uygulama davranışını bozmamalıdır. Ancak bir uygulama tek bir sınıf yükleyici kullanıyorsa bu davranış bozulur. Ayrıca, aynı paketteki sınıfların paket özelinde görünürlüğü hâlâ desteklenmektedir ancak paylaşılan kitaplıklarda desteklenmemektedir.

Cihaz üreticileri, Android 10 çalıştıran cihazlarını test ederken uygulama uyumluluğu sorunlarıyla karşılaşabilir.

Güvenlik özellikleri

Yalnızca güvenlik ve gizlilikle ilgili geliştirmelerin daha kapsamlı bir listesi için Android 10'daki 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 kilidini yalnızca cihazın ön yüzüne bakarak açmalarına olanak tanır. Android 10, kamera karelerini güvenli bir şekilde işleyebilen yeni bir yüz kimlik doğrulama yığını için destek ekler. Bu sayede, desteklenen donanımda yüz kimlik doğrulaması sırasında güvenlik ve gizlilik korunur. Android 10, güvenliğe uygun uygulamaların online bankacılık veya diğer hizmetler gibi işlemler için uygulama entegrasyonunu etkinleştirmesini kolaylaştırır.

Genişletilmiş erişim

Smart Lock gibi üçüncü taraf kimlik doğrulama mekanizmalarının kullandığı 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 cihazı en fazla dört saat boyunca kilidi açık olarak tutabilir.

Şifreleme

OEMCrypto

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

Test

BoundsSanitizer

Android 10, Bluetooth ve codec'lerde BoundsSanitizer (BoundSan)'ı kullanır. BoundSan, UBSan'ın sınır temizleyicisini kullanır. Bu azaltma, modül düzeyinde etkinleştirilir. Android'in kritik bileşenlerinin güvenliğini sağlamaya 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 Integer Overflow Sanitization (IntSan) özelliğini etkinleştirir. Cihazın donanımında desteklenmeyen tüm codec'lerde oynatma performansının kabul edilebilir olduğundan emin olun. IntSan, aşağıdaki codec'lerde etkinleştirilir:

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

Yalnızca yürütme belleği

Varsayılan olarak, AArch64 sistem ikilileri için yürütülebilir kod bölümleri, tam zamanında kod yeniden kullanma saldırılarına karşı güvenlik önlemi olarak yalnızca yürütme (okunamaz) şeklinde işaretlenir. Verileri ve kodu birlikte karıştıran kodlar ile bellek segmentlerini önce okunabilir olarak yeniden eşlemeden bu bölümleri kasıtlı olarak inceleyen kodlar artık çalışmıyor. Android 10 (API düzeyi 29 veya daha yüksek) hedef SDK'sına sahip uygulamalar, bölümü önce okunabilir olarak işaretlemeden bellekteki yalnızca yürütme belleği (XOM) etkin sistem kitaplıklarının kod bölümlerini okumaya çalıştığında etkilenir.

Scudo

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

ShadowCallStack

ShadowCallStack (SCS), bir işlevin dönüş adresini, yaprak olmayan işlevlerin işlev prologunda ayrı olarak ayrılmış bir LLVM enstrümantasyon modu olan ShadowCallStack örneğine kaydederek ve işlev epilogunda dönüş adresini ShadowCallStack örneğinden yükleyerek dönüş adresi üzerine yazma işlemlerine (ör. yığın arabellek taşmaları) karşı koruma sağlar.

Ses

Ses HAL

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 üzere ses politikası yöneticisinde önemli bir yeniden düzenleme 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.

  • Kayan öğe desteği
  • 192 KHz frekans desteği
  • Sekiz kanallı destek
  • Zamanlama bilgilerinin dahil edilmesi

Eşzamanlı yakalama

Android 10, birden fazla etkin ses yakalama işleminin aynı anda gerçekleşmesini gerektiren eşzamanlı yakalama kullanıcı deneyimini iyileştirir.

AudioPlaybackCapture

Android 10'da AudioPlaybackCapture adlı yeni bir API bulunur. Bu API, uygulamalara diğer uygulamalar tarafından oynatılan sesleri kopyalama olanağı tanır. Bu özellik, ekran görüntüsüne benzer ancak ses için kullanılır. Birincil kullanım alanı, oyunlar tarafından çalınan sesleri yakalamak için akış uygulamalarını etkinleştirmektir.

Capture API, sesi alınan uygulamanın gecikmesini etkilemez.

MIDI

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

Kamera

Android 10'da kullanıma sunulan kamera API'si, kamera HAL'si ve kamera modülündeki değişikliklerin özetini Android 10 kamera güncellemeleri başlıklı makalede bulabilirsiniz.

Kamera çerçevesiyle ilgili gizlilik iyileştirmeleri

Android 10, kamera çerçevesinde gizlilik iyileştirmeleri sunar. CameraCharacteristics'da kullanıcı izni olmadan potansiyel olarak hassas statik kamera bilgilerinin açığa çıkmasını önlemek için uygulamaların getCameraCharacteristics yöntemiyle gizliliğe duyarlı bir etiket içeren statik meta verileri almak üzere CAMERA iznini 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'da, oturum yeniden yapılandırma sorgusu özelliği eklenmiştir. Bu özellik, dahili oturum parametresi yeniden yapılandırma mantığı üzerinde daha fazla kontrol sağlayarak performansı artırır.

Camera HAL3 arabellek yönetimi API'leri

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

Kamera HAL dinamik fiziksel kamera anahtarı

Android 10, mantıksal bir kamera cihazının etkin temel fiziksel kamerasını gösteren dinamik bir meta veri etiketi olan ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID etiketini kullanıma sunar. Daha fazla bilgi için Çoklu Kamera Desteği başlıklı makaleye göz atın.

Fiziksel kameraları gizleme desteği

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

Camera2 VNDK API'si

Android 10'da, satıcı modülleri kamera cihazlarına iki yeni standart HIDL arayüzü (android.frameworks.cameraservice.service@2.0 ve android.frameworks.cameraservice.device@2.0) üzerinden erişip bunları kontrol edebilir. Android 10, HIDL arayüzlerinin kullanımını kolaylaştırmak için tedarikçiler tarafından kullanılabilen bir kitaplık olan libcamera2_vendor'yı da sunar. Bu kitaplık, Camera NDK kitaplığına benzer ancak birkaç küçük değişiklik içerir.

Yayın yapılandırmaları

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

Kamera akışı kombinasyonu şartları

Android 10'un yüklü olduğu cihazların artık fiziksel alt kamera akışlarıyla akış kombinasyonlarını desteklemesi gerekmiyor. Ancak, kamera HAL cihaz sürümü 3.5 olan Android 10 yüklü cihazlar, uygulamaların fiziksel akışlar içeren bir akış kombinasyonunun desteklenip desteklenmediğini sorgulamasına izin vermek için isStreamCombinationSupported() özelliğini desteklemelidir.

Daha fazla bilgi için Çoklu Kamera Desteği başlıklı makaleye göz atın.

HEIF görüntüleme

Android 10, yüksek verimli resim dosyası biçimi (HEIF) resimleri için yerel kamera desteği sunar. Bu resimler, JPEG resimlere kıyasla daha iyi görüntü kalitesi ve daha küçük boyutlar sunar. Cihazlarda HEIF resimlerini desteklemek için HEIC veya HEVC kodlayıcı bulunmalı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 DngCreator işlevleri için ek destek sağlar. Tek renkli kameralar

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'ü destekleyen 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 hizmeti kategorilerine göre sınıflandırılabilir.

Grup görüşmesi API'leri

Grup görüşmesi API'leri, Android 9'da eklenen eMBMS API'lerinin bir uzantısıdır. Yeni API'ler, eMBMS ara katman yazılımı paketleriyle etkileşim kurarak uygulamaların hücresel yayın grup görüşmelerine katılmasını ve bu görüşmelerde yayın yapmasını sağlayan bir standart tanımlar. Grup görüşmelerinin düzgün çalışması için yonga seti tedarikçisi, ara katman yazılımı tedarikçisi ve mobil operatör tarafından desteklenmesi gerekir. Geliştirici dokümanlarını developer.google.com adresinde bulabilirsiniz.

Uzaktan SIM özellikleri

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

Birden fazla eSIM

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

eSIM güncellemeleri

Android 10'un yüklü olduğu ve eSIM'leri destekleyen cihazlarda, çı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 desteklemelidir. Daha fazla bilgi için eSIM'i uygulama ve HAL gereksinimleri başlıklı makaleleri inceleyin.

5G Non-Standalone (NSA)

Android 10'da 5G non-standalone (NSA) desteği eklenmiştir. 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 cihazlar 5G ağına bağlandığında durum çubuğunda 5G simgesi gösterebilir.

Telefon hesabı önerisi

Android 10, telefon hesabı öneri hizmetini kullanıma sunuyor. Bu hizmet sayesinde, arama yaparken kullanıcılara telefon hesabı önerileri gösterilebiliyor.

Operatör

Mobil ağ ayarlarını taşıma

Android 10, Mobil Ağ ayarları kullanıcı arayüzü kodunu yeniden yapılandırdı ve Telefon yığını yerine 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ı), ayrıcalıklı bir izinle korunur. Bu izne cihaz ve profil sahibi uygulamaları da erişebilir. IMSI ve SIM seri numarası operatör tarafından sağlandığından bu tanımlayıcılara erişim, operatör ayrıcalıkları olan paketlere verilir.

Kablosuz bağlantı

Ağ seçimi

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

Kablosuz bağlantı tercih edilen ağ aktarımı taraması

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

Operatör kablosuz ağı

Android 10'da, operatör Wi-Fi özelliği olan cihazlar, yapılandırılmış operatör Wi-Fi ağlarına (ortak anahtar sertifikaları olan ağlar) otomatik olarak bağlanır.

Wi-Fi Easy Connect

Android 10'da cihazlar, Wi-Fi cihazlarını temel hazırlık ve yapılandırma için Wi-Fi Alliance (WFA) tarafından kullanıma sunulan cihaz temel hazırlık protokolünü (DPP) kullanan Wi-Fi Easy Connect'i kullanabilir.

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

Android 10, gecikmeyi azaltmak için kablosuz çipi yapılandıran bir düşük gecikmeli kablosuz modu sunar.

DHCP sunucusu güncellendi

"IP Sunucusu" hizmet şemsiyesinin oluşturulması kapsamında dnsmasq siliniyor. Android 10, DHCPv4 sunucusunun işlevsel kullanımını, öncelikle Java çerçevesi kontrol düzlemiyle daha iyi entegre olmak için Java ile 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'a yükseltilen ve Android 10 ile piyasaya sürülen tüm cihazlarda DhcpServer varsayılan olarak kullanılır. DHCP sunucusunda özelleştirmeleriniz varsa genel ayarı tether_enable_legacy_dhcp_server=1 olarak ayarlayarak Android 9 davranışına geri dönebilirsiniz. Yeni DhcpServer, ağ bileşenleri modülüne dahil edildiğinden DHCP sunucusu işlevselliğinde yapılan tüm özelleştirmeler yukarı akışa 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 Wi-Fi Protected Access 3 (WPA3) ve Wi-Fi Enhanced Open güvenlik standartlarını destekler.

Kablosuz Doğrudan Bağlantı

Wi-Fi P2P olarak da bilinen Wi-Fi Direct, desteklenen cihazların internet veya hücresel ağ erişimi olmadan Wi-Fi Direct protokolünü kullanarak birbirlerini doğrudan keşfetmelerine ve bağlanmalarına olanak tanır.

MAC rastgele seçimi geliştirmeleri

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

Passpoint R2

Android 10, Passpoint R2 özelliklerinin desteklenmesini sağlar. Passpoint R2, yeni Passpoint profillerini sağlamak için standart bir yöntem olan online kaydı (OSU) uygular. Android 10, SOAP-XML kullanılarak EAP-TTLS profillerinin sağlanmasını destekler.

NFC

NFC'yi güvenli hale getir

Güvenli NFC, ana bilgisayar dışı NFC kartı emülasyonunun yalnızca cihazın ekran kilidi açıkken etkinleştirilmesine olanak tanır. Bu özelliği uyguladığınızda kullanıcılar, daha iyi güvenlik için Güvenli NFC'yi etkinleştirme seçeneğine sahip olur.

Android Beam desteği sonlandırıldı

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

Arayüzler:

Yöntemler:

Android Beam'i kullanmak için android.sofware.nfc.beam özelliğini bildirin.

Grafik

ASurfaceControl

Android 10, ASurfaceControl adlı yeni bir yöntem ekleyerek SurfaceFlinger'ın arabellekleri kabul etmesini sağlar.

Grafik uygulaması

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 Releases EGL 1.5 Specification başlıklı makaleyi inceleyin.

Vulkan

Android 10, Vulkan 1.1 grafiklerini destekler. Platform, VK_KHR_swapchain v70'i de desteklediği için Vulkan uygulaması, takas zinciri belleğiyle desteklenen bir VkImage oluşturabilir.

Performans yenileme hızı

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

Etkileşim

Automotive

Otomotiv ses sistemleri

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 hareketlere dayalı bir sistemde gezinme seçeneği sunar. Uygulamaları bu özelliği kullanmaya hazırlama hakkında bilgi için Android Developers sitesindeki Hareketle gezinme sayfasına bakın.

Nöral ağlar

Android 10, Neural Networks API ve Neural Networks HAL'de güncellemeler sunar. Değişikliklerin özeti için Sinir ağları başlıklı makaleyi inceleyin.

Android 10 için yeni ve güncellenmiş Neural Networks dokümanları:

Sensörler

Sensörler HAL 2.0

Sensors HAL 2.0, sensör etkinliklerini HAL'den Android Sensors Framework'e göndermek için hızlı mesaj sıralarının (FMQ) kullanılmasını destekler.

Sensörler kapalı

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

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

Medya

Güncellenebilir medya bileşenleri

Android 10, güncellenebilir medya bileşenleri sunar. Bu bileşenler, medya ile ilgili modüler sistem bileşenlerinin Google Play Store altyapısı veya iş ortakları tarafından sağlanan kablosuz (OTA) mekanizma aracılığıyla güncellenmesini sağlar.

Medya DRM'si

Android 10, MediaDrm Java ve NDK API'lerinin kullanışlılığını ve kullanılabilirliğini artırır.

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şiler sağlayıcısı ve ilgi alanları bilgileri

Android 10'dan itibaren, Kişiler Sağlayıcı bileşeni tarafından yönetilen, kişilere yakınlıkla ilgili verilere Android 9 ve önceki sürümlerdekinden farklı şekilde erişilir. Veri erişimiyle ilgili bu değişiklikler, Kişiler Sağlayıcı bileşenini kullanan tüm Android 10 cihazlarda kullanıcı gizliliğini artırır. Temel alınan veritabanında artık kişi yakınlığı verileri bulunmuyor. Bu nedenle, uygulamalar bu alana yazamaz veya bu alandan okuyamaz.

Android 10'daki değişikliklerin API'ler üzerinde büyük bir etki yaratması bekleniyor. Uygulamalarınız, Kişiler Sağlayıcı ve Benzerlik Bilgileri bölümünde belirtilen kullanımdan kaldırılmış özelliklere dayanıyorsa değişiklikleri telafi etmek için uygulamalarınızı güncellemeniz gerekebilir. Ayrıca, Kişiler Sağlayıcı'nın çatallanmış bir sürümünü kullanıyorsanız Kişiler Sağlayıcı'nızı güncellemeniz gerekir.

Üç durumlu konum izinleri

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

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

Android 10'da, uygulamaların cihazın konumuna ne kadar erişebildiği konusunda şeffaflığı artıran ve kullanıcıların bu tür erişimler üzerinde kontrol sahibi olmasını sağlayan 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ı belirtmeleri gerekir.

Arka planda başlatılan uygulamalar

Android 10'da, görünür penceresi olmayan ayrıcalıksız uygulamalar kendilerini otomatik olarak ön plana çıkaramaz. 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 paketlere özel yollara tam ve ham erişimlerini korur. Uygulamalar, pakete özel yollarına tam ve işlenmemiş erişime sahip olmaya devam eder.

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

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

Android 10'da, pano içeriğinin ClipboardManager.getPrimaryClip çağrılarak veya pano değiştiğinde bildirim için onPrimaryClipChangedListener dinleyicisi eklenerek izlenememesi için pano erişimi değiştirildi. Bu, kullanıcı gizliliğini artırır ve kötü amaçlı reklam yazılımı içeren uygulamaların pano içeriğini değiştirmesini engeller.

Android 10'da okuma erişimine yalnızca giriş odağı olan mevcut uygulamada veya mevcut klavyede izin verilir. ClipboardManager.onPrimaryClipChanged() dinleyici çağrısı artık yalnızca bu tür kısıtlamaları karşılayan uygulamalar için tetikleniyor. ClipboardManager.getPrimaryClip ve ClipboardManager.getPrimaryClipDescription , istekte bulunan uygulama varsayılan giriş yöntemi düzenleyicisi (IME) değilse veya giriş odağına sahip değilse null değerini döndürür.

Çalışma zamanında istenen izinler arasında etkinlik tanıma da yer alıyor

Kullanıcılar artık bir uygulama arka planda cihaz konumuna eriştiğinde etkinlik tanıma iletişim kutusunu görüyor. Çalışma zamanında istenen ve kesin olarak kısıtlanmış izinler, Android 10'da uygun şekilde izin verilenler listesine eklenmelidir.

MANAGE_DEVICE_ADMINS izni

Android 10, MANAGE_DEVICE_ADMINS iznini yalnızca imzaya veya ayrıcalıklıdan yalnızca imzaya değiştirir. Bu nedenle, yalnızca platform tarafından imzalanmış uygulamalar diğer uygulamaları cihaz yöneticisi olarak ayarlayabilir.

Paylaşım API'sindeki iyileştirmeler

Android 10, paylaşmayla ilgili bir dizi yeni Android Platform API özelliği sunar. Uygulamanızda paylaşım sayfası kodunu değiştirdiyseniz uygulamanızın bu yeni özellikleri desteklediğinden emin olun. Uygulamanızda 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

İmzalı Yapılandırma özelliği, SDK olmayan arayüz kısıtlamalarının yapılandırmasının APK'lara yerleştirilmesine olanak tanır. Bu, belirli SDK dışı arayüzlerin kara listeden kaldırılmasını sağlar. Böylece AndroidX bunları güvenli bir şekilde kullanabilir. Bu değişiklikle birlikte AndroidX, eski Android sürümlerinde yeni özellikler için destek ekleyebilir.

Performans

Cgroup soyutlama katmanı

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

Low Memory Killer Daemon (lmkd)

Android 10, bellek baskısı algılama için çekirdek baskısı durdurma bilgisi (PSI) monitörlerini kullanan yeni bir lmkdmodu destekler.

Güç

Platform güç yönetimi

Android 10'da, Doze modu her zaman açık olan cihazlarda ve pille çalışan cihazlarda etkinleştirilebilir.

Rutin pil tasarrufu

Android 10, rutine göre adlı yeni bir pil tasarrufu planı seçeneği sunar. Rutin pil tasarrufu, OEM tarafından seçilen bir uygulamanın daha akıllı pil tasarrufu planlaması için sisteme sinyal sağlamasına olanak tanır. Bu seçeneğin yapılandırılması gerekir ve uygulanması isteğe bağlıdır.

Güç istatistikleri HAL

Android 10'da, IPowerStats.hal, IPower.hal'daki güç istatistikleri toplama API'lerinin yerini alır. Güç HAL'si API'leri desteklemeye devam etse de gelecekte yalnızca güç istatistikleri HAL'sine taşınacaktır.

Güç istatistikleri HAL'si, desteklenen cihazlarda cihaz üzerinde güç ölçümünden veri toplanmasını desteklemek için yeni API'ler içerir. Esnekliği artırmak için mevcut güç istatistikleri toplama API'leri de güncellendi. Güç ipucu API'leri, güç HAL'inde kalır ve değişmez.

Isı azaltma

Android 10'daki termal çerçeve, CPU, GPU, pil, deri ve soğutma cihazı dahil olmak üzere termal alt sistem sıcaklık sensörü için cihaz arayüzlerini soyutlar. Bu çerçeve, sınırlamayı başlatmak için termal durumu sorgulamak üzere bir yoklama 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, aşağıdaki üç yeni yöntemi kullanarak IThermalService arayüzü üzerinden yeni veri türleri sunar:

Uygulamalar, PowerManager sınıfında dinleyicileri ekleyip kaldırır ve sıcaklık durumuna erişir. Yalnızca Android API'si veya cihaz üreticisi API'si gibi güvenilir bir sistem hizmeti, ilişkili nedensel etkinliklerle 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.

Termal azaltma uygulama ö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 bir kullanıcı alanı bölümleme sistemi sunar. Bu sistem, OTA güncellemeleri sırasında bölümlerin oluşturulmasına, yeniden boyutlandırılmasına veya yok edilmesine olanak tanır. Cihaz üreticileri, system, vendor ve product gibi bölümlerin ayrı ayrı boyutları konusunda endişelenmek zorunda kalmaz. Bunun yerine, tek bir büyük 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 indirebileceği ve 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, bir cihazdaki tüm kullanıcılar için yedekleme ve geri yükleme işlevini destekler. Daha önce yedekleme ve geri yükleme yalnızca sistem kullanıcısı için kullanılabilir durumdaydı. Sistem kullanıcısı olmayanlar için yedekleme ve geri yükleme, 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ü okuma/yazma olarak verimli bir şekilde yeniden monte edebilmeyi ve ardından sistem görüntüsünü yeniden yüklemeden istediği sayıda dosya ekleyip değiştirebilmeyi bekler. Yazılabilir bir dosya sistemi için yedekleme depolama alanını otomatik olarak üst referans olarak ayarlayan ve alttaki depolama alanına bağlanan Overlayfs seçeneğini kullanabilirsiniz. Bu işlemler adb disable-verity ve adb remount isteklerinde gerçekleşir. Daha fazla 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 kullanılabilir. 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 yer alır.

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. Birincisi kitaplığı hem sistem hem de kurtarma bölümlerine yüklerken ikincisi yalnızca kurtarma bölümüne yükler.

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

Kullanıcı Verileri Kontrol Noktası (UDC)

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