Vuonna 2019 käytössä oli yli 2,5 miljardia aktiivista Android-laitetta. Määrä kasvaa jatkuvasti. Sinulla saattaa olla käytössäsi Android-puhelin tai -laite. Mutta entä jos ei ole? Silloin Android-emulaattori voi auttaa; se voi simuloida Android-käyttöjärjestelmää ja käyttöliittymää, jotta voit testata Android-sovellustasi.
Tässä artikkelissa käsitellään yksityiskohtaisesti Android-emulaattoreita, niiden toimintaa ja käyttöä sekä sitä, missä määrin niiden avulla voidaan asianmukaisesti testata Android- ja verkkosovelluksia.
Käsittelen seuraavia aiheita:
- Mitä Android-emulaattorit ovat?
- Miten Android-emulaattorit toimivat?
- Android-emulaattorin määrittäminen
- Miten Android-simulaattoreita käytetään testaukseen?
- Android-emulaattori: vahvuudet ja heikkoudet
- Mitkä ovat parhaat Android-emulaattorit?
Mitä Android-emulaattorit ovat?
Android-emulaattorit ovat ohjelmistoja, jotka on suunniteltu jäljittelemään Android-mobiililaitteen laitteistoa ja ohjelmistoa kehitys- ja testaustarkoituksiin. Android-emulaattorit toimivat Mac- tai PC-tietokoneellasi, joten voit rakentaa Android-keskeisiä sovelluksia työpöytäsi ääressä.

Pelien pelaaminen tai testaaminen on suosittu syy käyttää Android-emulaattoreita, mutta niiden avulla voi myös käyttää mitä tahansa Google Play Kaupassa saatavilla olevaa sovellusta. Jos esimerkiksi käytät Instagram-sovellustasi emulaattorissa, voit ladata kuvia suoraan tietokoneeltasi – mikä olisi muuten mahdotonta.
Jotta ymmärtäisit, mitä Android-emulaattori voi tehdä, sinun on ensin ymmärrettävä, miten se toimii.
Miten Android-emulaattorit toimivat?
Android-emulaattorit, kuten BlueStacks, NoxPlayer ja Genymotion, ovat pöytätietokoneeseen asennettavia ohjelmistosovelluksia, jotka voivat simuloida Android-laitteen ohjelmisto- ja laitteistokokemusta. Niiden avulla pelaajat voivat pelata mobiili

Android-pelejä PC:llä, ja testaajat voivat kehittää ja testata Android-sovelluksia reaaliajassa.
Emulaattorit jäljittelevät kohdejärjestelmän arkkitehtuuria. Siksi erilaisille ohjelmistoille ja laitteistoille on saatavilla emulaattoreita tarpeidesi mukaan.
Mikä on Quick Emulator (QEMU)?

Avoimen lähdekoodin työkaluna Quick Emulator toimii monissa isäntäkoneissa tai työasemissa, kuten eri käyttöjärjestelmissä ja suorittimissa, emuloidakseen muita vieraskäyttöjärjestelmiä ja -suorittimia.
QEMU käyttää Android-emulaattoreita vieraslaitteen laitteiston jäljittelemiseen siten, että se vastaa isäntälaitteen laitteistoa. Se toimii tietokoneellasi ohjelmana ja kääntää vierassovellusten binäärirajapinnan vastaamaan isäntälaitteen rajapintaa.
Kääntäminen on monimutkaista ja aikaa vievää, minkä vuoksi emulointi on erittäin hidasta. Jos isäntä- ja vieraslaitteiden arkkitehtuurit ovat kuitenkin samanlaiset, kääntäminen on helppoa ja nopeaa.
Jos isäntä- ja vieraslaitteilla on samanlainen käskyarkkitehtuuri, QEMU ohittaa binäärikäännösprosessin. Se suorittaa vieraslaitteen välittömästi suoraan isäntälaitteen suorittimella – prosessia kutsutaan laitteistoavusteiseksi virtualisoinniksi.
Laitteiden arkkitehtuurien yhteensovittaminen tehdään hypervisorilla.
Have an account? Log In
Miten hypervisorit toimivat?

Hypervisor eli virtuaalikonevalvontaohjelma (VMM) on ohjelmisto, jonka avulla laite, esimerkiksi tietokone, voi tukea useita vierasvirtuaalikoneita jakamalla resurssejaan, kuten laskentatehoa ja muistia. Hypervisorit auttavat hyödyntämään järjestelmän resursseja ja mahdollistavat paremman IT-liikkuvuuden eri palvelinten välillä.
Hypervisoreita on kaksi päätyyppiä: tyypin 1 eli suoraan laitteistolla toimivat hypervisorit ja tyypin 2 eli isäntäkäyttöjärjestelmässä toimivat hypervisorit.
- Tyypin 1 hypervisorit toimivat kevyinä käyttöjärjestelminä, jotka suoritetaan suoraan isännän laitteistolla.
- Tyypin 2 hypervisorit toimivat käyttöjärjestelmässä ohjelmistoina muiden tietokonesovellusten ja -ohjelmien tavoin, joten niiden avulla voi suorittaa Android-sovelluksen.
Ennen vuotta 2017 Androidin ARM-arkkitehtuuri edellytti käännöstä Android Studio -emulaattorista, jotta se vastaisi useimpia henkilökohtaisissa tietokoneissa käytettyjä arkkitehtuureja.
Android julkaisi Studionsa version 25.3.0, joka kehitti emulaattoria mahdollistamalla virtualisoinnin tehostamisen laitteistoavusteisen protokollan avulla. Siksi laitteistoavusteisen virtualisoinnin toteuttamiseen tarvitaan hypervisori, mutta on huomioitava, että eri tietokoneiden käyttöjärjestelmät tukevat eri hypervisoreita.
Intel käyttää laitteistokiihdytyksen suoritusmanageria eli HAXM:ää hypervisorikomponenttina Windows-tietokone- ja macOS-alustoilla, kun taas Linux käyttää ytimeen perustuvaa virtuaalikonetta eli KVM:ää.
Androidin x86-binaarinen sovellusrajapinta tukee laitteistokiihdytystä useissa tietokoneissa. Jos kuitenkin haluat nopeuttaa laitteesi virtuaalista suorituskykyä, tämä Android-emulaattori edellyttää hypervisorin asentamista ja käyttöönottoa.
Laitteistokiihdytyksen ansiosta Android-emulaattori voi käyttää virtuaalilaitetta nopeudella, joka vastaa työskentelevän suorittimesi nopeutta.
Android-emulaattorin määrittäminen
Version 25.3.0 julkaisun jälkeen Android jakoi emulaattorinsa erillään SDK-työkaluistaan. Android-emulaattorin määrittäminen voi olla hankalaa, mutta tässä on prosessin lyhyt yleiskuvaus.
Laitteistovaatimukset
Tarvitset Android SDK:n version 26.1.1 tai uudemman. Tietokoneessasi tai kannettavassa tietokoneessasi tulee olla 32- tai 64-bittinen suoritin, jotta Android-emulaattori toimii.
Jos käytät Android 8.1:tä tai sen uudempia versioita, sinulla on oltava verkkokamera, joka pystyy tallentamaan 720p-kuvaa.
Useimmissa laitteissa emulaattori pyytää sallimaan laitteen suorituskyvyn laitteistokiihdytyksen, ja tätä varten tarvitset Intelin hypervisorin HAXM:n version 7.2.0.
Linux- ja Windows-alustojen käyttäjät tarvitsevat lisälaitteistokomponentteja, mutta niiden tarve riippuu suorittimesta.
- Linuxissa käyttäjät voivat hyödyntää AMD:n virtualisointijärjestelmää, jossa on SIMD:n version 3 laajennukset.
- Windows-tietokoneessa käyttäjät voivat hyödyntää Android Studion versiota 3.2 tai uudempaa, joka toimii Windowsin hypervisor-ohjelmointirajapinnan kanssa.
Intel-käyttäjät voivat käyttää Intel VT-x:ää sekä Intel 64 -tukea ja suorittimen käytön estävää (XD) bittiominaisuutta.
Kun Android-emulaattori on asennettu, voit avata Androidin virtuaalilaitteiden hallinnan (AVD Manager).
Androidin virtuaalilaitteiden hallinta (AVD)

AVD-hallinnan avulla voit ottaa Android-laitteesi käyttöön ja kohdistaa niiden asetukset.
Se sisältää valmiiksi määritettyjä profiileja puhelimille, tableteille ja televisioille – jokainen on suunniteltu erityisesti tiettyä valmistajaa varten. Sen avulla voit mukauttaa ulkoisia ominaisuuksia ja näytön kokoa sekä tuoda haluamasi profiilin.
Google Play Kauppa ja sen yhteensopivuuden testipaketti ovat kuitenkin saatavilla vain rajalliselle määrälle laitteita – ainoastaan niille, jotka ovat Androidin yhteensopivuusohjelman mukaisia.
AVD-hallinnan avulla voit asentaa virtuaalilaitteeseesi järjestelmän binäärisen sovellusrajapinnan, jota emulaattori suosittelee ja jonka arkkitehtuuri vastaa käytössä olevan suorittimesi arkkitehtuuria.
AVD:n vahvistusasetusten avulla voit muuttaa määritettyjä ohjelmisto- tai laitteistoprofiileja sekä määrittää laitteen asetuksia, kuten nimen ja suunnan.
Lopuksi emulaattori käynnistää virtuaalilaitteen määritykset ja mahdollistaa lisäohjaimet ja -asetukset, kuten maantieteellisen sijainnin, verkon viiveen, laitteen kierron, sormenjälkitunnistimen, kameran ja akun tilan sekä muita toimintoja.
Virtuaalilaitteiden avulla voit tallentaa instanssisi samaan tilaan, jossa suljet ne, joten voit jatkaa siitä, mihin aiemmin jäit.
Miten Android-emulaattoreita käytetään testaukseen?
Ennen haaran muutosten suorittamista kehittäjät testaavat koodia putkistoissa. IDE:llä tehdyn nopean yksikkötestin jälkeen aloitetaan instrumentointi- ja toiminnallinen testaus.
Android-emulaattorin avulla voit suorittaa instrumentointitestejä ja esimerkiksi varmistaa, että koodi käsittelee ydinresursseja ja sovelluskohtaisia tiedostoja, sekä testata ulkoisten riippuvuuksiesi toiminnallisuutta.
Emulaattorit auttavat myös sovellusten suorituskykytestauksessa varmistamaan, että vuorovaikutus on sujuvaa ja että sovellukset käyttävät laitteen resursseja vaadittujen rajoitusten puitteissa. Tarkkojen tulosten saamiseksi varmista, että mittaat laitteesi CPU:n ja grafiikan suorituskyvyn.
Android-emulaattori mahdollistaa laitteidesi toiminnan vain lähes natiivilla nopeudella. Siksi niiltä ei pidä odottaa täysin natiiveja tuloksia. Virtuaalilaitteilla et myöskään voi testata Android-sovellustesi suorituskykyä suhteessa muihin vertailuarvoihin.
Ei ole olemassa luotettavaa kiertotapaa, jonka avulla natiivisovelluksia voisi testata vastaavassa mittakaavassa Android-emulaattoreilla. Tarvitset monia oikeita laitteita käyttöliittymän ja toimintojen monimutkaisiin selainten välisiin testeihin, jotta voit testata Chrome-, Firefox-, Safari- ja muilla selaimilla.
Insinöörit käyttävät testauksen automaatiokehyksiä, kuten Espressoa ja Appiumia, testiskriptien luomiseen ja niiden suorittamiseen eri Android-laitteilla vertailuarvoihin perustuvien yhteensopivuusstandardien täyttämiseksi.
Android-emulaattori: vahvuudet ja heikkoudet
Android-emulaattorit jäljittelevät oikeita Android-laitteita. Niihin liittyy kuitenkin myös joitakin rajoituksia.
Vahvuudet
Android-emulaattorin ominaisuuksiin kuuluvat muun muassa nopea tiedonsiirto ja yhteensopivuus fyysisten antureiden, kuten kiihtyvyysantureiden, kanssa.
- Nopea tiedonsiirto
Android-emulaattorit auttavat siirtämään tietoja nopeammin ja tehokkaammin kuin fyysiset laitteet, jotka yhdistät USB:n kautta.
Emulaattori tarjoaa vedä ja pudota -toiminnon, jonka avulla voit siirtää .apk-tiedostoja työasemaltasi tai tietokoneeltasi virtuaalilaitteelle. Tämä auttaa kehittäjiä testaamaan sovelluksia nopeasti ja tehokkaammin.
- Yhteensopivuus fyysisten antureiden kanssa
Android-emulaattorit ovat hyödyllisiä, jos käytät fyysisiä antureita, kuten kiihtyvyysantureita. Kun testaat tiettyä sovelluksen osaa, joka perustuu suurelta osin antureihin, asetusten säätäminen emulaattorin laajennettujen ohjainten avulla on helpompaa.
More Articles
Heikkoudet
Android-emulaattoreiden rajoituksiin kuuluvat ARM-prosessorivaatimukset, levytilan käyttö, laitteistokiihdytyksen monimutkaisuus ja epäluotettavuus sovellusten vuorovaikutuksen ymmärtämisessä.
- ARM-prosessorivaatimukset
Useimmat nykyaikaiset PC:t tai kannettavat tietokoneet käyttävät Intel x86 -arkkitehtuuria, ja yleisin saatavilla oleva Android-piirisarja on ARM v7a. Muista, että nopeaa emulointia varten isäntä- ja vierasprosessorin arkkitehtuurien on vastattava toisiaan. Jos laitteessa ei siis ole ARM-prosessoria, emulointi toimii heikosti, erityisesti useimpien markkinoilla olevien Android-laitteiden kohdalla.
- Levytila
AVD-hallintaohjelma luo erilliset hakemistot virtuaalilaitteen tietojen, välimuistin ja SD-korttien tietojen säilyttämistä varten. Yksi virtuaalilaite vie yli 3 Gt levytilaa ja saattaa kaatua käynnistyksen aikana, jos vapaata tilaa ei ole riittävästi.
- Laitteistokiihdytyksen monimutkaisuus
Laitteistokiihdytys parantaa suorituskykyä, vaikka prosessin määrittäminen on monimutkaista jopa edistyneille kehittäjille. Joskus laitteiston kiihdyttäminen johtaa koko järjestelmän käyttökatkokseen tai toimintahäiriöön.
- Luotettavuuden puute
Kun tavoitteena on ymmärtää sovellusten vuorovaikutusta isäntälaitteen ympäristön kanssa, Android-emulaattorit muuttuvat epäluotettaviksi.
Esimerkiksi sovellusten taustaprosesseja, käyttöliittymän ulkoasua ja kirkkaustasoja sekä sovellusten reagointia erilaisiin kosketuseleisiin on vaikea selvittää.
Mitkä ovat parhaat Android-emulaattorit?
Android-emulaattorin valintaan on tarjolla paljon erinomaisia vaihtoehtoja, kuten GameLoop ja MEmu. Löydät täältä markkinoiden parhaiden saatavilla olevien Android-emulaattorien luettelon sekä vinkkejä siihen, mitkä niistä sopivat parhaiten erityistarpeisiisi.
Jos käytät Linuxia, vertailumme Linuxille tarkoitetuista Android-emulaattoreista voi auttaa sinua löytämään käyttöjärjestelmäsi kanssa hyvin toimivan vaihtoehdon.
Yhteenveto
Android-emulaattorit ovat mullistaneet laitteiden ominaisuudet ja käyttäjäkokemuksen. Niitä voidaan käyttää moniin tarkoituksiin, kuten sovellusten testaamiseen ja pelaamiseen suurilla näytöillä.
Android-emulaattori voi olla hyödyllinen lisä elektronisiin laitteisiisi, koska sen avulla voit yhdistää kaikkien laitteidesi eri osa-alueet samanaikaisesti.
Kun käytössäsi on ihanteellinen Android-emulaattori, voit parantaa laitteidesi ominaisuuksia ja toiminnallisuutta sekä niiden avulla saavuttamaasi käyttäjäkokemusta.
Aiheeseen liittyvä podcast, jonka voit lukea/kuunnella: SEURAAVAN SUKUPOLVEN MOBIILITESTAUS (PERFECTON ERAN KINSBRUNERIN KANSSA)




