Ако някога сте се чудили дали Може ли виртуална машина да се използва на Android?Отговорът е доста ясен „да“... но с някои уговорки. В днешно време е не само възможно да стартирате друга Android система в телефона си, но някои дори са успели да я стартират. Дистрибуции на Windows 11 ARM и Linux на телефон като Pixel 6. Не всички решения обаче са еднакви или служат за една и съща цел.
В тази статия ще разгледаме подробно какви опции имате виртуализиране на системи в AndroidКолко добре се представят, какви ограничения имат и в кои случаи си струва да се използват? Ще видите алтернативи на „Android в Android“ като VMOS или Virtual Master, по-ориентирани към тестване и разработка подходи като традиционния Android Emulator, както и по-специални примери като настройване на лека Linux дистрибуция с приложения като Limbo или дори Windows 11 на модерен мобилен телефон.
Какво точно е виртуална машина в Android?
Когато говорим за виртуални машини на мобилни устройства, имаме предвид, че работят друга операционна система или изолирана среда в Android, по подобен начин, както бихте го направили с VirtualBox или VMware на компютър. В контекста на Android това се изразява главно в два основни сценария:
- Андроид на Андроид: втора инсталация на Android, която работи като приложение, изолирано от оригиналната система (както се предлага от VMOS или Virtual Master).
- Други системи в рамките на AndroidLinux или Windows ARM, работещи във виртуализационен или емулационен слой (както при QEMU или Limbo).
Тази изолация позволява на приложенията или системите да работят в тази „кутия“ Не докосвайте и не променяйте основната система Android.Това е много полезно за разработка и тестване, както и за поверителност, сигурност или просто за наличието на две различни пространства на едно и също мобилно устройство.
VMOS: виртуален Android, който съществува като приложение
VMOS е едно от имената, които се споменават най-често, когато се говори за виртуални машини в AndroidПо принцип това е „виртуален телефон“, който инсталирате като всяко друго приложение от Google Play (или техния уебсайт), но който всъщност се изтегля и работи пълна и независима Android система вътре във вашето устройство.
Този виртуален Android се държи така, сякаш е друг отделен мобилен телефонТой има собствен работен плот, приложения, настройки и място за съхранение. Приложенията, които инсталирате във VMOS, не би трябвало да влияят на реалната система; дори ако дадено приложение е злонамерено или съдържа вирус, на теория то остава ограничено до виртуалната машина. Не може да „избяга“ от основния AndroidТова прави VMOS един вид усъвършенствана пясъчник, идеална за тестване и защита на вашия телефон.
Ключови функции на VMOS
Сред най-интересните характеристики на VMOS са няколко функции, предназначени както за напреднали потребители, така и за тези, които просто искат... по-безопасна или отделна среда:
- Защита и изолацияТой работи с независима Android система, идеална за тестване на разработка, тестване на подозрителни APK файлове или експериментиране без страх от повреда на оригиналната система.
- Няколко машини едновременно: ви позволява да имате множество екземпляри на виртуален Android работи във фонов режим, така че можете да използвате различни пространства в зависимост от това, от което се нуждаете (работа, игри, тестове и т.н.).
- Лесна многозадачностВключва „плаващ бутон“ за бързо превключване между реалната система и виртуалната машина, което прави движението между двете среди доста удобно.
- Регулируеми настройкиМожете да променяте параметрите на виртуалната машина (като например разпределени ресурси или системни настройки), за да я адаптирате към различни приложения и устройства.
- Прехвърляне на файловеТой предлага опции за прехвърляне на приложения и файлове от физическия телефон към виртуалната машина и обратно, нещо ключово, ако искате лесно да премествате данни или да инсталирате приложения.
Интересно допълнение е, че тази архитектура може да се използва и за криптиране на файлове или снимки като ги държите във виртуалната среда, далеч от директния изглед на други приложения, които сте инсталирали на основната система.
Какъв е смисълът да имаш Android в Android?
Може да звучи странно да имате „Android, работещ вътре в друг Android“, но на практика това отваря много възможности. С VMOS можете да създавате напълно отделно пространство което може да е полезно, например за:
- Използвайте два акаунта на приложения, които обикновено не позволяват множество сесии, като например WhatsApp, Facebook или определени игри.
- Създайте „паралелна“ среда, където запазване на снимки, контакти и данни без да ги смесвате с тези от основния мобилен телефон.
- Тествайте с разрешения root вътре в виртуалната машина без руутване на самия телефон, нещо идеално за разработчици или любопитни потребители.
- Оставете приложенията или игрите да работят във фонов режим на виртуалната система, докато продължавате да използвате основното устройство с Android за други задачи.
- Тествайте как се държат приложенията в по-стари версии на Android като Lollipop, тъй като ROM-овете, които VMOS изтегля, обикновено са леки и без много предварително инсталирани приложения.
Виртуалната система първоначално започва с Lollipop Android 5.1 Доста е чист, заема по-малко от 300 MB от изтеглената ROM памет. Първото зареждане може да отнеме между пет и десет минути, в зависимост от процесорната мощност на телефона, но след като системният образ е създаден, Следните отвори са много по-бързи.

Root достъп във виртуалната машина
Една от големите силни страни на VMOS е, че ви позволява да да имате root достъп на виртуалния Android С проста настройка, без изобщо да се докосва оригиналната система. Виртуалната машина не се руутва по подразбиране, но можете да я активирате от опциите за разработчици на вътрешната система Android.
В рамките на тези опции се появява превключвател, наречен "ROOT"След активирането му ще трябва да рестартирате виртуалната машина (т.е. да я „изключите“ и да я рестартирате от приложението). Когато се стартира отново, ще видите, че типичното приложение е инсталирано. управление на разрешенията на суперпотребителяОттам можете да контролирате кои приложения във виртуалната машина получават root достъп.
Важно е да се подчертае това Този root засяга само виртуалната системаAndroid системата на телефона остава непокътната и без руут права, така че ако нещо се повреди или приложение излезе извън контрол, щетите остават ограничени до виртуалната машина.
Разрешения и производителност във VMOS
За да направи преживяването възможно най-реалистично, VMOS изисква редица чувствителни разрешения: достъп до IMEI, съхранение, местоположение и други данниСпоред разработчиците, те се използват, за да позволят на виртуалния Android да се държи като истинско устройство, но е важно да се знае, че на практика... Доста се доверяваш на приложението като му предостави тези достъпи.
По отношение на производителността, трябва да приемете, че телефонът ви работи едновременно с две системи: истинската Android система и емулираната. Това означава, че производителността страдаОсобено на устройства от по-нисък до среден клас. Въпреки това, с приличен телефон, той работи достатъчно гладко за ежедневни задачи и много приложения, а можете да го използвате и в режим на цял екран или в други режими. картина-в-картина чрез плаващия бутон, което добавя значително удобство.
Виртуален майстор: още един „виртуален телефон“ на вашия Android
Виртуалният майстор е друго приложение, базирано на технология от Виртуализация на Android на AndroidТяхното предложение е много подобно на това на VMOS: създава изолиран „втори телефон“ във вашето устройство, със собствена система, базирана (в този случай) на Android 7.1.2.
Виртуалната система, която Virtual Master създава, функционира като паралелно пространство Или дори като локален „облачен телефон“, само че всичко работи на самия телефон. Можете да инсталирате приложенията му, да организирате началния му екран, да сменяте тапети и да го персонализирате по ваш вкус, сякаш е самостоятелен телефон.
Основни приложения на Virtual Master
Виртуалният майстор е предназначен предимно за тези, които трябва да управляват множество акаунти или отделни среди в рамките на едно и също устройство. Сред най-забележителните му случаи на употреба:
- Множество акаунти за игри или социални медии работещи едновременно. Приложенията са „клонирани“ във виртуалната система и можете да влезете с акаунти, различни от този на основното ви устройство с Android.
- Приложения и игри, работещи паралелноПоддържа фоново изпълнение, така че можете да играете игри във виртуалната машина, докато гледате видео или сърфирате в реалната система.
- Поддръжка на Вулкан във виртуалната система, което подобрява производителността на много взискателни игри във Virtual Master.
- Подобрена поверителностПриложенията, работещи на виртуалната система, нямат директен достъп до контакти, SMS, идентификатор на устройството или други данни от физическото мобилно устройство, което превръща виртуалната машина във вид... „Пясъчник“ за защита на вашата информация.
Ако използвате онлайн игри или приложения за социални медии и искате да разделите личния и професионалния си живот или просто имате пробни акаунти, този тип виртуализиран Android Това е много удобно решение.
Изисквания и поведение на виртуалния майстор
Виртуалният майстор трябва да изтегли системен образ на Android 7.1.2 с размер приблизително 300 MBи за да функционира гладко, са необходими около 1,6 GB вътрешно пространствоОчевидно е, че колкото повече инсталирате във виртуалната машина, толкова повече място ще заема тя.
Първоначалното стартиране може да отнеме между една и две минути, защото в този момент то е Инсталиране и конфигуриране на изображението на устройството. Оттам нататък времето за зареждане се намалява до диапазон между 4 и 10 секунди, в зависимост от мощността на процесора и натоварването на системата.
Има някои важни ограничения: засега Може да се инсталира само на основния потребителски или администраторски акаунт. на устройството, а не във вторичните Android профили. Ако в даден момент виртуалната машина не успее да се стартира, препоръчително е да проверите дали има достатъчно място, да затворите приложението, да рестартирате мобилното устройство и ако все още не успее, да използвате опцията за „Ремонт на виртуална машина“ в настройките на Virtual Master или дори деинсталирайте и преинсталирайте приложението, за да регенерирате изображението.
Виртуални пространства и пясъчник на приложения в Android
Освен тези „тежки“ решения за виртуални машини, в Android съществува и идеята за виртуални пространства или пясъчници да стартирате приложения изолирано. Това са места, където инсталирате APK файлове и ги тествате, без те да взаимодействат директно с останалата част от системата, подобно на лека виртуална машина.
Една от опциите на системата е да създадете друг потребител или профил в Android. Това вече ви дава известна степен на изолация (отделни приложения и данни), но има и значителни ограничения: не е толкова гъвкаво, колкото виртуална машина, има ограничения за известия, споделени ресурси, системни разрешения и някои разширени функции. Ето защо много хора се обръщат към приложения от типа „паралелно пространство“ или виртуални системи като VMOS/Virtual Master, които Те предлагат по-голям контрол и гранулирана изолация.
Android емулатор и AVD: Виртуални машини за разработка
Когато говорим за виртуални машини с Android, не можем да пренебрегнем... Официален емулатор за AndroidВ този случай обаче не работи на телефон, а на компютър. Android емулаторът изпълнява операционната система Android във виртуална машина, наречена Виртуално устройство с Android (AVD)който включва целия софтуерен стек на Android и се държи като физическо устройство; той служи и за Инсталиране на APK файлове на Windows използвайки виртуалната машина и SDK.
Архитектура и създаване на изображения AVD
Архитектурата на емулатора на Android е базирана на виртуална машина, която стартира Образ на системата AndroidGoogle предоставя редица готови за употреба образи (x86, x86_64, ARM, различни версии на Android и др.), но можете също така да компилирате свои собствени образи от изходния код на AOSP.
Типичният поток за създаване на персонализирано AVD изображение преминава през:
- Изтеглете изходния код на Android в директория (например, aosp-main) с инструментите на репо-сделка, изпълни
repo inityrepo syncда донесе всички необходими клони. - Конфигурирайте средата за изграждане с
source ./build/envsetup.sh, избирайки цел като напримерlunch sdk_phone_x86_64и бягайmake -j32(или броя на нишките, които вашата машина поддържа), за да генерирате изображението. - Стартирайте емулатора с командата
emulator, като подадете съответните опции на командния ред, ако е необходимо да конфигурирате хардуер, мрежи и др.
За да споделяте тези изображения с други потребители на Android Studio, могат да се генерират пакети. sdk и sdk_repo или, в по-новите версии (Android 13 и по-нови), използвайте задачата make emu_img_zip, което създава ZIP файл от типа sdk-repo-linux-system-images-eng..zipТози zip файл се хоства на сървър, препраща се към него от XML файл на хранилище (в Android 12 и по-стари версии) и се добавя като сайт за персонализирани актуализации в мениджъра на SDK на Android Studio.
Поддръжка на многоекранен режим в емулатора
Android 10 подобри многоекранния режим, за да обхване нови случаи на употреба, като например режим на работния плот или автоматични настройкиAndroid Emulator е следвал този път, позволявайки емулация на многоекранни среди без нужда от реален хардуер.
За да добавите поддръжка за няколко екрана към персонализиран AVD, трябва да получите достъп до настройките на продукта и да добавите доставчик на многоекранни услуги към файла. build/target/product/sdk_phone_x86.mk и включват библиотеки като например libemulator_multidisplay_jni.so (в 32 и 64 бита) и пакетът MultiDisplayProvider.apkОсвен това, съответният функционален маркер е активиран в device/generic/goldfish/data/etc/advancedFeatures.ini с линия като MultiDisplay = on.
Всичко това прави емулатора много мощен инструмент за Тествайте приложения на сгъваеми устройства, множество монитори или в напреднали сценарии което би било трудно да се възпроизведе само с физически телефон.
Разширени виртуални машини на Android 13: Windows 11 и Linux на Pixel 6
Android 13 донесе значителни подобрения във виртуализационната подсистема и вече се появиха някои поразителни примери, като например този на разработчик (Дани Лин, известен още като @kdragon), който успя да изпълни Windows 11 ARM като виртуална машина на Google Pixel 6 с предварителна версия на Android 13 (Developer Preview 1).
Случаят е забавен, ако си спомним, че Microsoft така и не успя да направи Windows Phone или Windows 10 Mobile успешни. Те не се наложиха на пазара и въпреки това сега виждаме Windows 11 да работи доста лесно на телефон с Android. Видеата, които Лин показа, демонстрират как... Windows стартира, влиза в системата и работи сравнително гладко., въпреки че по това време нямаше графично ускорение с GPU и графиката беше донякъде ограничена.
За да се настрои тази виртуална машина, беше използвано следното: QEMUКласически проект за емулация и виртуализация. Дори и с липсата на графични драйвери, производителността беше изненадващо добра, до степен да може да се стартират игри като Doom и да се използва интерфейсът в пейзажен режим с изживяване, не далеч от това на лаптоп.
В допълнение към Windows 11 ARM, същата система за виртуализация позволяваше създаването и работата на виртуални машини с различни Linux дистрибуции за ARM архитектураВ конзолен режим Лин описа производителността като „почти идентична с оригиналната“, което отвори вратата за използване на мобилното устройство като Мини компютър с Linux когато го свържете към монитор, клавиатура и мишка.
Този тип употреба все още е донякъде експериментален и е запазен за напреднали потребители, но показва накъде биха могли да се насочат нещата: че следващият ви настолен компютър всъщност може да бъде, вашият смартфон, работещ с мощни виртуални машини благодарение на съвременния хардуер и поддръжката за виртуализация в Android.
Виртуализирайте Linux на Android с Limbo
Ако това, от което се нуждаете, е нещо по-просто, като например да имате малък Linux терминал под ръка На мобилното ви устройство има решения като Limbo, които ви позволяват да виртуализирате леки системи, без да се налага да се впускате в сложни сценарии като чист QEMU или персонализирани компилации.
Типичното използване на Limbo включва инсталиране на приложението, изтегляне на лек ISO образ на Linux (например DSL – Damn Small Linux, който тежи около 50 MB) и създавате нова виртуална машина от опцията „Load Machine > New“. Оттам конфигурирате ISO файла като диск за зареждане и стартирате виртуалната машина във вашето Android устройство.
С този подход можете да изпълните Ограничена Linux среда за тестване на скриптове, автоматизации или помощни програми които имате само за Linux, директно от телефона. Работата обаче ще зависи до голяма степен от хардуера на устройството и от това колко лека е използваната дистрибуция.
Колко добре работи всичко това на практика?
Когато става въпрос за това, осъществимостта на използването на виртуална машина в Android зависи от два ключови фактораМощността на устройството и предназначението му ще определят производителността. За Android системи, работещи на Android (VMOS, Virtual Master), едно устройство от среден клас ще ви позволи да работите сравнително лесно, въпреки че ще забележите увеличена консумация на ресурси и батерия.
В по-екстремни конфигурации като Windows 11 ARM или пълни Linux дистрибуции с QEMU, ще ви е необходимо мощни процесори и много RAM (устройства като Pixel 6 или подобни). Въпреки това, има ограничения в графичното ускорение, драйверите и хардуерната съвместимост, които правят тези решения все още доста ограничени. проекти за ентусиасти и разработчицине толкова продукти за средностатистическия потребител.
В сравнение с алтернативи като създаването на друг потребител в Android, виртуалните машини предлагат много по-дълбока и по-конфигурируема изолация, позволявайки от клониране на приложения с множество акаунти дори тестване на потенциално опасен софтуер в затворена среда. Трябва обаче да управлявате разрешенията, пространството за съхранение и производителността и да приемете, че всичко това не е толкова лесно за употреба, колкото компютър с вградена виртуализация.
Настоящата екосистема показва, че това наистина е възможно. Използване на виртуални машини на Android с повече от прилични резултати, от малки пясъчникови среди за приложения до истински „компютри в мобилното устройство“.
Разликата е в това, което искате да направите: ако трябва само да разделите акаунти и данни, приложения като VMOS или Virtual Master са повече от достатъчни; ако искате да компилирате, тествате или разработвате задълбочено, официалният емулатор и персонализираните AVD образи на компютър все още са най-мощният вариант; а ако искате да разширявате границите, усъвършенстваната виртуализация на Android 13, QEMU и Linux или Windows ARM дистрибуции ви позволява да извлечете максимума от вашия смартфон, сякаш е джобен компютър. Споделете тази информация, за да могат повече потребители да знаят как да използват виртуална машина на Android и какви са нейните предимства..