Ako ste se ikad pitali da li Može li se virtuelna mašina koristiti na Androidu?Odgovor je prilično jasan da... ali uz neke ograde. Ovih dana nije samo moguće pokrenuti drugi Android sistem unutar vašeg telefona, već su neki čak uspjeli da ga pokrenu. Windows 11 ARM i Linux distribucije na telefonu poput Pixela 6. Međutim, nisu sva rješenja ista niti služe istoj svrsi.
U ovom članku ćemo detaljno pogledati koje opcije imate virtualizacija sistema u AndroiduKoliko dobro rade, koja ograničenja imaju i u kojim slučajevima ih vrijedi koristiti? Vidjet ćete alternative "Android unutar Androida" poput VMOS-a ili Virtual Mastera, pristupe orijentisanije na testiranje i razvoj poput tradicionalnog Android Emulatora, a također i neobičnije primjere poput postavljanja lagane Linux distribucije s aplikacijama poput Limba ili čak Windowsa 11 na modernom mobilnom telefonu.
Šta je tačno virtuelna mašina u Androidu?
Kada govorimo o virtuelnim mašinama na mobilnim uređajima, mislimo na pokretanje drugi operativni sistem ili izolovano okruženje unutar Androida, na sličan način kao što biste to uradili sa VirtualBox ili VMware na računaru. U kontekstu Androida, ovo se uglavnom prevodi u dva glavna scenarija:
- Android na Androidudruga Android instalacija koja radi kao aplikacija, izolovana od originalnog sistema (kao što nudi VMOS ili Virtual Master).
- Drugi sistemi unutar AndroidaLinux ili Windows ARM koji radi u sloju virtualizacije ili emulacije (kao kod QEMU-a ili Limbo-a).
Ova izolacija omogućava aplikacijama ili sistemima da rade unutar te "kutije" Ne dirajte niti modificirajte glavni Android sistem.Ovo je vrlo korisno za razvoj i testiranje, kao i za privatnost, sigurnost ili jednostavno za korištenje dva različita prostora na istom mobilnom uređaju.
VMOS: virtuelni Android koji postoji kao aplikacija
VMOS je jedno od imena koje se najčešće spominje kada se govori o virtuelne mašine u AndroiduU osnovi, to je "virtualni telefon" koji instalirate kao i bilo koju drugu aplikaciju sa Google Play-a (ili njihove web stranice), ali koji se zapravo preuzima i pokreće kompletan i nezavisan Android sistem unutar vašeg uređaja.
Ovaj virtuelni Android se ponaša kao da je još jedan zaseban mobilni telefonIma vlastitu radnu površinu, aplikacije, postavke i pohranu. Aplikacije koje instalirate unutar VMOS-a ne bi trebale utjecati na stvarni sistem; čak i ako je aplikacija zlonamjerna ili sadrži virus, teoretski ostaje ograničena na virtualnu mašinu. Ne može "pobjeći" od glavnog AndroidaZbog toga je VMOS svojevrsni napredni sandbox, idealan za testiranje i zaštitu vašeg telefona.
Ključne funkcije VMOS-a
Među najzanimljivijim karakteristikama VMOS-a su nekoliko funkcija dizajniranih i za napredne korisnike i za one koji jednostavno žele... sigurnije ili odvojeno okruženje:
- Zaštita i izolacijaPokreće nezavisni Android sistem, idealan za testiranje razvoja, testiranje sumnjivih APK-ova ili eksperimentisanje bez straha od oštećenja originalnog sistema.
- Više mašina istovremeno: omogućava vam da imate više instanci virtuelnog Androida radi u pozadini, tako da možete koristiti različite prostore ovisno o tome šta vam je potrebno (posao, igre, testovi itd.).
- Jednostavan multitaskingUključuje "plutajuće dugme" za brzo prebacivanje između stvarnog sistema i virtuelne mašine, što kretanje između dva okruženja čini prilično praktičnim.
- Podesiva podešavanjaMožete mijenjati parametre virtuelne mašine (kao što su dodijeljeni resursi ili sistemske postavke) kako biste ih prilagodili različitim upotrebama i uređajima.
- Prijenos datotekaNudi opcije za prenijeti aplikacije i datoteke sa fizičkog telefona na virtuelnu mašinu i obrnuto, što je ključno ako želite lako premještati podatke ili instalirati aplikacije.
Zanimljiv dodatak je da se ova arhitektura može koristiti i za šifriranje datoteka ili fotografija držeći ih unutar virtuelnog okruženja, dalje od direktnog pogleda drugih aplikacija koje ste instalirali na glavnom sistemu.
Koja je svrha imati Android unutar Androida?
Možda zvuči čudno imati "Android koji radi unutar drugog Androida", ali u praksi to otvara mnogo mogućnosti. Pomoću VMOS-a možete kreirati potpuno odvojen prostor što bi moglo biti korisno, na primjer, za:
- Koristite dva računa aplikacija koje obično ne dozvoljavaju više sesija, kao što su WhatsApp, Facebook ili određene igre.
- Uspostavite „paralelno“ okruženje u kojem sačuvajte fotografije, kontakte i podatke bez miješanja s onima s glavnog mobilnog telefona.
- Testiraj s dozvolama root unutar virtuelne mašine bez rootanja samog telefona, nešto idealno za programere ili znatiželjne korisnike.
- Ostavite aplikacije ili igre da rade u pozadini na virtuelnom sistemu dok nastavite koristiti glavni Android uređaj za druge zadatke.
- Testirajte kako se aplikacije ponašaju u starije verzije Androida kao Lollipop, budući da su ROM-ovi koje VMOS preuzima obično lagani i bez mnogo unaprijed instaliranih aplikacija.
Virtuelni sistem inicijalno počinje sa Android Lollipop 5.1 Prilično je čist, zauzima manje od 300 MB preuzetog ROM-a. Prvo pokretanje može trajati između pet i deset minuta, ovisno o procesorskoj snazi telefona, ali nakon što se kreira sistemska slika, Sljedeći otvori su mnogo brži.

Root pristup unutar virtuelne mašine
Jedna od velikih prednosti VMOS-a je to što vam omogućava da imati root pristup na virtuelnom Androidu Jednostavnim podešavanjem, bez ikakvog dodirivanja originalnog sistema. Virtuelna mašina se ne rootova po defaultu, ali je možete omogućiti iz Developer Options internog Android sistema.
Unutar tih opcija pojavljuje se prekidač pod nazivom “KORIJEN”Nakon što ga aktivirate, morat ćete ponovo pokrenuti virtualnu mašinu (tj. "isključiti je" i ponovo pokrenuti iz aplikacije). Kada se ponovo pokrene, vidjet ćete da je instalirana tipična aplikacija. upravljanje dozvolama superkorisnikaOdatle možete kontrolisati koje aplikacije unutar virtuelne mašine dobijaju root pristup.
Važno je to naglasiti Ovaj root utiče samo na virtuelni sistemAndroid sistem telefona ostaje netaknut i bez roota, tako da ako se nešto pokvari ili aplikacija izmakne kontroli, šteta ostaje ograničena na virtuelnu mašinu.
Dozvole i performanse u VMOS-u
Da bi iskustvo bilo što realističnije, VMOS zahtijeva niz osjetljivih dozvola: pristup IMEI, pohrana, lokacija i ostali podaciPrema riječima programera, ovo se koristi kako bi se omogućilo virtuelnom Androidu da se ponaša kao pravi uređaj, ali važno je imati na umu da, u praksi, Prilično vjeruješ aplikaciji tako što mu dajete ove pristupe.
Što se tiče performansi, morate pretpostaviti da vaš telefon istovremeno koristi dva sistema: pravi Android sistem i emulirani. To znači da performanse patiPogotovo na uređajima niže i srednje klase. Uprkos tome, sa pristojnim telefonom, radi dovoljno glatko za svakodnevne zadatke i mnoge aplikacije, a možete ga koristiti i u režimu preko cijelog ekrana ili u drugim režimima. slika u slici putem plutajućeg dugmeta, što pruža znatnu praktičnost.
Virtualni majstor: još jedan "virtualni telefon" na vašem Androidu
Virtual Master je još jedna aplikacija zasnovana na tehnologiji iz Virtualizacija Androida na AndroiduNjihov prijedlog je vrlo sličan VMOS-ovom: stvara izolirani "drugi telefon" unutar vašeg uređaja, sa vlastitim sistemom zasnovanim (u ovom slučaju) na Androidu 7.1.2.
Virtuelni sistem koji Virtual Master kreira funkcioniše kao paralelni prostor Ili čak kao lokalni "oblačni telefon", osim što sve radi na samom telefonu. Možete instalirati njegove aplikacije, organizirati njegov početni ekran, mijenjati pozadine i prilagođavati ga svojoj želji kao da je samostalni telefon.
Glavne upotrebe Virtual Mastera
Virtual Master je prvenstveno namijenjen onima kojima je potrebno upravljanje više računa ili odvojenih okruženja unutar istog uređaja. Među njegovim najznačajnijim slučajevima upotrebe:
- Višestruki igrački ili društveni medijski računi rade istovremeno. Aplikacije su "klonirane" unutar virtuelnog sistema i možete se prijaviti s računima koji se razlikuju od onog na vašem glavnom Android uređaju.
- Aplikacije i igre koje se pokreću paralelnoPodržava izvršavanje u pozadini, tako da možete igrati igre u virtuelnoj mašini dok gledate video ili pretražujete web na stvarnom sistemu.
- Vulkanova podrška u virtuelnom sistemu, što poboljšava performanse mnogih zahtjevnih igara unutar Virtual Mastera.
- Enhanced PrivacyAplikacije koje rade na virtuelnom sistemu nemaju direktan pristup kontaktima, SMS-ovima, ID-u uređaja ili drugim podacima sa fizičkog mobilnog uređaja, što virtuelnu mašinu pretvara u neku vrstu „Pješčanik“ za zaštitu vaših podataka.
Ako koristite online igre ili aplikacije društvenih medija i želite odvojiti svoj privatni i profesionalni život ili jednostavno imate probne račune, ova vrsta virtualizirani Android To je veoma praktično rješenje.
Zahtjevi i ponašanje virtuelnog mastera
Virtual Master treba preuzeti sistemsku sliku Android 7.1.2 veličine otprilike 300 MBa da bi nesmetano funkcionisalo, potrebno je oko 1,6 GB internog prostoraOčigledno, što više instalirate unutar virtuelne mašine, to će više prostora zauzimati.
Početno pokretanje može trajati između jedne i dvije minute, jer je u tom trenutku Instaliranje i konfigurisanje slike na uređaju. Nakon toga, vrijeme pokretanja se smanjuje na raspon od 4 do 10 sekundi, ovisno o snazi procesora i opterećenju sistema.
Postoje neka važna ograničenja: za sada Može se instalirati samo na glavnom korisničkom ili administratorskom računu. uređaja, a ne u sekundarnim Android profilima. Ako se u bilo kojem trenutku VM ne pokrene, preporučuje se provjeriti ima li dovoljno prostora, zatvoriti aplikaciju, ponovo pokrenuti mobilni uređaj, a ako i dalje ne uspije, koristiti opciju "Popravi virtuelnu mašinu" u postavkama Virtual Mastera ili čak deinstalirajte i ponovo instalirajte aplikaciju da biste regenerirali sliku.
Virtuelni prostori i sandboxovi aplikacija u Androidu
Pored ovih "teških" rješenja za virtuelne mašine, u Androidu postoji ideja o virtuelni prostori ili sandboxovi za pokretanje aplikacija u izolaciji. To su mjesta gdje instalirate APK-ove i testirate ih bez njihove direktne interakcije s ostatkom sistema, slično laganoj virtuelnoj mašini.
Izvorna sistemska opcija je kreiranje drugi korisnik ili profil unutar Androida. To vam već daje određeni stepen izolacije (odvojene aplikacije i podatke), ali ima i značajna ograničenja: nije fleksibilan kao VM, postoje ograničenja za obavještenja, dijeljene resurse, sistemske dozvole i neke napredne funkcije. Zato se mnogi ljudi okreću aplikacijama tipa "paralelni prostor" ili virtuelnim sistemima poput VMOS/Virtual Master, koji Nude veću kontrolu i granularnu izolaciju.
Android emulator i AVD: Virtualne mašine za razvoj
Kada se govori o Android virtuelnim mašinama, ne može se zanemariti Zvanični Android emulatorMeđutim, u ovom slučaju ne radi na telefonu, već na računaru. Android emulator pokreće Android operativni sistem u virtuelnoj mašini pod nazivom Android virtuelni uređaj (AVD)koji uključuje cijeli Android softverski paket i ponaša se kao fizički uređaj; također služi za Instalirajte APK-ove na Windowsu korištenjem virtualne mašine i SDK-a.
Arhitektura i kreiranje slika AVD
Arhitektura Android emulatora zasnovana je na virtuelnoj mašini koja pokreće Slika Android sistemaGoogle nudi niz slika spremnih za upotrebu (x86, x86_64, ARM, razne verzije Androida, itd.), ali možete i kompajlirati vlastite prilagođene slike iz izvornog koda AOSP-a.
Tipičan tok za kreirajte prilagođenu AVD sliku prolazi kroz:
- Preuzmite izvorni kod Androida u direktorij (na primjer, aosp-main) s alatima od repo, izvršiti
repo inityrepo syncda donesu sve potrebne grane. - Konfigurišite okruženje za izgradnju sa
source ./build/envsetup.sh, odabirom cilja kao što jelunch sdk_phone_x86_64i trčimake -j32(ili broj niti koje vaša mašina podržava) da biste generirali sliku. - Pokrenite emulator komandom
emulator, prosljeđujući odgovarajuće opcije komandne linije ako trebate konfigurirati hardver, mreže itd.
Da biste ove slike podijelili s drugim korisnicima Android Studija, mogu se generirati paketi. sdk i sdk_repo ili, u novijim verzijama (Android 13 i novije), koristite zadatak make emu_img_zip, što stvara ZIP datoteku tipa sdk-repo-linux-system-images-eng..zipTa zip datoteka se nalazi na serveru, referencirana je iz XML datoteke repozitorija (u Androidu 12 i starijim verzijama) i dodaje se kao prilagođena web-lokacija za ažuriranje u Android Studio SDK Manageru.
Podrška za više ekrana u emulatoru
Android 10 je poboljšao režim rada za više ekrana kako bi pokrio nove slučajeve upotrebe, kao što su način rada radne površine ili automatske postavkeAndroid emulator je slijedio ovaj put, omogućavajući emulaciju okruženja s više ekrana bez potrebe za pravim hardverom.
Da biste dodali podršku za više ekrana prilagođenom AVD-u, potrebno je da pristupite postavkama proizvoda i dodate provajdera za više ekrana u datoteku. build/target/product/sdk_phone_x86.mk i uključuju biblioteke kao što su libemulator_multidisplay_jni.so (u 32 i 64 bita) i paket MultiDisplayProvider.apkOsim toga, odgovarajući marker funkcije je omogućen u device/generic/goldfish/data/etc/advancedFeatures.ini sa linijom kao što je MultiDisplay = on.
Sve ovo čini emulator veoma moćnim alatom za Testirajte aplikacije na sklopivim uređajima, više monitora ili u naprednim scenarijima što bi bilo teško reproducirati korištenjem samo fizičkog telefona.
Napredne virtuelne mašine na Androidu 13: Windows 11 i Linux na Pixelu 6
Android 13 je donio značajna poboljšanja podsistema virtualizacije, a neki upečatljivi primjeri su se već pojavili, poput primjera jednog programera (Danny Lin, alias @kdrag0n) koji je uspio izvršiti Windows 11 ARM kao virtuelna mašina na Google Pixelu 6 s probnom verzijom Androida 13 (Developer Preview 1).
Slučaj je zabavan ako se sjetimo da Microsoft nikada nije uspio da Windows Phone ili Windows 10 Mobile učini uspješnim. Nisu se zadržali na tržištu, a ipak sada vidimo da Windows 11 radi prilično upotrebljivo na Android telefonu. Videi koje je Lin pokazao pokazuju kako... Windows se pokreće, prijavljuje i radi relativno glatko., iako u to vrijeme nije bilo GPU ubrzanja grafike i grafika je bila donekle ograničena.
Za podešavanje te virtuelne mašine korišteno je sljedeće: QEMUKlasičan projekat emulacije i virtualizacije. Čak i uz nedostatak grafičkih drajvera, performanse su bile iznenađujuće dobre, do te mjere da je bilo moguće pokretati igre poput Dooma i koristiti interfejs u pejzažnom režimu sa iskustvom koje nije daleko od onog na laptopu.
Pored Windows 11 ARM-a, isti sistem virtualizacije je omogućavao kreiranje i pokretanje virtuelnih mašina sa Različite Linux distribucije za ARM arhitekturuU konzolnom režimu, Lin je opisao performanse kao "gotovo identične izvornim", otvarajući vrata korištenju mobilnog uređaja kao Mini računar sa Linuxom kada ga povežete sa monitorom, tastaturom i mišem.
Ova vrsta korištenja je još uvijek donekle eksperimentalna i rezervirana za napredne korisnike, ali pokazuje kuda bi stvari mogle ići: da bi vaš sljedeći desktop računar zapravo mogao biti, vaš pametni telefon pokreće moćne virtuelne mašine zahvaljujući modernom hardveru i podršci za virtualizaciju u Androidu.
Virtualizirajte Linux na Androidu pomoću Limba
Ako vam treba nešto jednostavnije, poput mali Linux terminal pri ruci Na vašem mobilnom uređaju postoje rješenja poput Limba, koja vam omogućavaju virtualizaciju laganih sistema bez potrebe za ulaskom u složene scenarije poput čistog QEMU-a ili prilagođenih verzija.
Tipična upotreba Limba uključuje instaliranje aplikacije, preuzimanje lagana Linux ISO slika (na primjer, DSL – Damn Small Linux, koji teži oko 50 MB) i kreirate novu virtuelnu mašinu iz opcije „Load Machine > New“. Odatle konfigurišete ISO kao boot disk i pokrećete VM unutar vašeg Android uređaja.
Ovim pristupom možete izvršiti Smanjeno Linux okruženje za testiranje skripti, automatizacije ili uslužnih programa koju imate samo za Linux, direktno s telefona. Međutim, iskustvo će uveliko ovisiti o hardveru uređaja i koliko je lagana distribucija koju koristite.
Koliko dobro sve ovo funkcioniše u praksi?
Kada se sve svodi na to, izvodljivost korištenja virtuelne mašine u Androidu zavisi od dva ključna faktoraSnaga uređaja i vaša namjeravana upotreba će odrediti performanse. Za Android sisteme koji rade na Androidu (VMOS, Virtual Master), trenutni uređaj srednje klase će vam omogućiti da radite relativno lako, iako ćete primijetiti povećanu potrošnju resursa i baterije.
U ekstremnijim konfiguracijama poput Windows 11 ARM ili punih Linux distribucija sa QEMU-om, trebat će vam moćni procesori i mnogo RAM-a (uređaji poput Pixela 6 ili sličnih). Uprkos tome, postoje ograničenja u ubrzanju grafike, upravljačkim programima i kompatibilnosti hardvera koja ova rješenja i dalje čine prilično ograničenima. projekti za entuzijaste i developerene toliko proizvoda za prosječnog korisnika.
U poređenju sa alternativama poput kreiranja drugog korisnika u Androidu, virtuelne mašine nude mnogo dublju i konfigurabilniju izolaciju, omogućavajući... kloniranje aplikacija s više računa čak i testiranje potencijalno opasnog softvera u zatvorenom okruženju. Međutim, morate upravljati dozvolama, prostorom za pohranu i performansama, te prihvatiti da sve ovo nije tako jednostavno kao PC s izvornom virtualizacijom.
Trenutni ekosistem pokazuje da je to zaista moguće. Korištenje virtualnih mašina na Androidu s više nego pristojnim rezultatima, od malih sandbox-ova za aplikacije do pravih „računara unutar mobilnog uređaja“.
Ono što čini razliku je ono što želite učiniti: ako trebate samo odvojiti račune i podatke, aplikacije poput VMOS-a ili Virtual Mastera su više nego dovoljne; ako želite detaljno kompajlirati, testirati ili razvijati, službeni emulator i prilagođene AVD slike na računaru su i dalje najmoćnija opcija; a ako želite pomicati granice, napredna virtualizacija Androida 13, QEMU-a i Linux ili Windows ARM distribucija omogućava vam da izvučete maksimum iz svog pametnog telefona kao da je u pitanju džepni računar. Podijelite ove informacije kako bi više korisnika znalo kako koristiti virtualnu mašinu na Androidu i koje su njene prednosti..