27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Android Sanallaştırma Çerçevesi'ne (AVF) genel bakış
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Android Sanallaştırma Çerçevesi (AVF), kod yürütmek için güvenli ve gizli yürütme ortamları sağlar. AVF, Android'in uygulama korumalı alanında sunulanlardan daha güçlü, hatta resmi olarak doğrulanmış yalıtım güvenceleri gerektiren güvenlik odaklı kullanım alanları için idealdir. Android, AVF'yi uygulamak için gereken tüm bileşenlerin referans uygulamasını sağlar. AVF yalnızca ARM64 cihazlarda desteklenir. Şekil 1'de AVF'nin mimarisi gösterilmektedir:
Şekil 1. AVF mimarisi.
Şekil 1'deki en önemli terimlerin tanımları aşağıda verilmiştir:
- apexd ve zipfuse
- Ana makineden içe aktarılan APEX'leri ve APK'ları güvenli bir şekilde bağlar.
- authfs
- Android ile pVM (ana ve misafir makine) arasında birden fazla dosyayı güvenli bir şekilde paylaşmak için bir füzyon dosya sistemi.
- binder
- VM'ler arası birincil iletişim aracı.
- crosvm
- Rust'ta yazılmış bir sanal makine izleyici. crosvm, sanal makine belleği ayırır, sanal CPU iş parçacıkları oluşturur ve sanal cihazın arka uçlarını uygular.
- Genel Çekirdek Görüntüsü (GKI)
- Google tarafından sertifikalandırılmış, Android Ortak Çekirdeği (ACK) kaynak ağacından oluşturulmuş bir GKI çekirdeği içeren ve Android cihazın önyükleme bölümüne yazılmaya uygun bir önyükleme görüntüsü. Daha fazla bilgi için Çekirdeğe genel bakış başlıklı makaleyi inceleyin.
- hypervisor
- AVF tarafından kullanılan sanallaştırma teknolojisi. pKVM olarak da bilinir. Ana makine Android'in veya diğer pVM'lerden herhangi birinin güvenliği ihlal edilse bile sanal makine yöneticisi, yürütülen kodun bütünlüğünü ve pVM'nin öğelerinin gizliliğini korur.
- Java API
- Yalnızca AVF desteği olan cihazlarda bulunan VirtualizationService Java API'leri. Bu API'ler isteğe bağlıdır ve
thebootclasspath
parametresinin bir parçası değildir.
- Microdroid
- pVM'de çalışan, Google tarafından sağlanan mini Android OS.
- Microdroid Manager
- pVM içindeki pVM yaşam döngüsünü ve örnek diskini yönetir.
- Yerel API
- Android Native Developers Kit'in (NDK) bir alt kümesi.
- korunan çekirdek tabanlı sanal makine (pKVM)
- Hipervizör başlıklı makaleyi inceleyin.
- pVM donanım yazılımı (
pvmfw
)
- pVM'de çalışan ilk kod olan
pvmfw
, yükü doğrular ve sanal makine başına gizli anahtarı oluşturur.
- korunan sanal makine (pVM)
Ana Android işletim sistemiyle (ana makine) birlikte çalışan, birbirine güvenmeyen izole bir yürütme ortamı (misafir). pVM güvenliğinin önemli bir yönü, ana makinenin güvenliği ihlal edilse bile ana makinenin pVM'nin belleğine erişememesidir. pKVM, pVM çalıştırmak için kullanılan standart hipervizördür.
Mevcut güvenilir yürütme ortamlarına (TEE'ler) kıyasla pVM'ler, Microdroid adlı bir mini Android dağıtımını çalıştırma özelliği de dahil olmak üzere daha zengin bir ortam sağlar (Microdroid, korumasız bir sanal makinede de çalışabilir). pVM'ler dinamik olarak kullanılabilir ve destekledikleri tüm cihazlarda kullanılabilen güvenilir bir ortamda standart bir API grubu sağlar.
- VirtualizationService
pVM'lerin yaşam döngüsünü yöneten Android hizmeti.
Sırada ne var?
- AVF'ye olan ihtiyacı daha iyi anlamak için Neden AVF? başlıklı makaleyi inceleyin.
- AVF'nin izole derleme için nasıl kullanılabileceği hakkında bilgi edinmek istiyorsanız Kullanım alanları bölümüne bakın.
- AVF referans uygulamasının mimarisiyle ilgili daha ayrıntılı bir açıklama için AVF mimarisi başlıklı makaleyi inceleyin.
- Microdroid hakkında bilgi edinmek istiyorsanız Microdroid başlıklı makaleyi inceleyin.
- AVF'nin güvenliği nasıl ele aldığı hakkında bilgi edinmek istiyorsanız Güvenlik başlıklı makaleyi inceleyin.
- Sanallaştırma hizmetinin rolünü anlamak için VirtualizationService'e bakın.
- AVF'nin kaynak kodu veya bileşenler hakkında ayrıntılı açıklama için AOSP deposuna bakın.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-08-19 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-08-19 UTC."],[],[],null,["# Android Virtualization Framework (AVF) overview\n\n*Android Virtualization Framework (AVF)* provides secure and private execution\nenvironments for executing code. AVF is ideal for security-oriented use cases\nthat require stronger, even formally verified, isolation assurances over those\noffered by Android's app sandbox. Android provides a reference implementation\nof all the components needed to implement AVF. AVF is supported only\non ARM64 devices. Figure 1 shows the architecture of AVF:\n\n**Figure 1.** AVF architecture.\n\nHere are the definitions for the most important terms from figure 1:\n\n*apexd and zipfuse*\n: Securely mounts APEXes and APKs imported from host.\n\n*authfs*\n: A fuse file system for securely sharing multiple files between Android and pVM\n (host and guest).\n\n*binder*\n: Primary means of inter-VM communication.\n\n*crosvm*\n: A virtual machine monitor written in rust. crosvm allocates VM memory,\n creates virtual CPU threads, and implements the virtual device's back-ends.\n\n*Generic Kernel Image (GKI)*\n: A boot image certified by Google that contains a GKI kernel built from an\n Android Common Kernel (ACK) source tree and is suitable to be flashed to the\n boot partition of an Android device. For further information, see the [Kernel\n overview](/docs/core/architecture/kernel).\n\n*hypervisor*\n: The virtualization technology used by AVF, also known as *pKVM*. The\n hypervisor maintains the integrity of the executed code and confidentiality of\n the pVM's assets, even if host Android or any of the other pVMs are compromised.\n\n*Java API*\n: The VirtualizationService Java APIs, which are present only on devices with\n AVF support. These APIs are optional and not part of `thebootclasspath`.\n\n*Microdroid*\n: A Google-provided mini-Android OS that runs in a pVM.\n\n*Microdroid Manager*\n: Manages the pVM lifecycle, inside the pVM, and instance disk.\n\n*Native API*\n: A subset of the Android Native Developers Kit (NDK).\n\n*protected kernel-based virtual machine (pKVM)*\n: See [Hypervisor](#hyper).\n\n*pVM firmware (`pvmfw`)*\n: The first code that runs on a pVM, `pvmfw` verifies the payload and derives\n the per-VM secret.\n\n*protected virtual machine (pVM)*\n\n: A mutually distrusted isolated execution environment (*guest* ) that runs\n alongside the main Android operating system (*host*). One important aspect of\n pVM security is even if the host is compromised, the host doesn't have access\n to a pVM's memory. pKVM is the standard hypervisor for running pVMs.\n\n Compared to existing trusted execution environments (TEEs), pVMs provide a\n richer environment, including the ability to run a mini-Android distribution\n called [Microdroid](#micro) (though Microdroid can also run on an\n unprotected VM). pVMs can be used dynamically and provide a\n standard set of APIs in a trusted environment available across all devices\n that support them.\n\n*VirtualizationService*\n\n: The Android service that manages the lifecycle of pVMs.\n\nWhat's next?\n------------\n\n- If you want to better understand the need for AVF, refer to [Why AVF?](/docs/core/virtualization/whyavf).\n- To read about how AVF can be used for isolated compilation, refer to [Use cases](/docs/core/virtualization/usecases).\n- If you want a more in-depth explanation of the AVF reference implementation's architecture, refer to [AVF architecture](/docs/core/virtualization/architecture).\n- If you want to learn about Microdroid, refer to [Microdroid](/docs/core/virtualization/microdroid).\n- If you are interested in how AVF handles security, refer to [Security](/docs/core/virtualization/security).\n- To understand the role of the virtualization service, refer to [VirtualizationService](/docs/core/virtualization/virtualization-service).\n- For source code of AVF or in-depth explanation about individual components, refer to [AOSP\n repository](https://android.googlesource.com/platform/packages/modules/Virtualization/+/refs/heads/main)"]]