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 sinulla ei ole sellaista? Tässä Android-emulaattori voi auttaa: se voi jäljitellä Android-käyttöjärjestelmää ja käyttöliittymää, jotta voit testata Android-sovellustasi.
Tässä artikkelissa esitellään yksityiskohtaista tietoa Android-emulaattoreista, niiden toiminnasta ja käyttötavoista sekä siitä, kuinka hyvin niillä voidaan testata Android- ja verkkosovelluksiasi.
Käsittelen seuraavia aiheita:
- Mitä Android-emulaattorit ovat?
- Miten Android-emulaattorit toimivat?
- Android-emulaattorin määrittäminen
- Miten Android-simulaattoreita käytetään testaamiseen?
- 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-sovelluksia työpöytäsi ääressä.

Pelien pelaaminen tai testaaminen on suosittu syy käyttää Android-emulaattoreita, mutta niiden avulla voit myös suorittaa mitä tahansa Google Play Kaupassa saatavilla olevaa sovellusta. Jos esimerkiksi suoritat Instagram-sovelluksesi emulaattorissa, voit ladata kuvia suoraan tietokoneeltasi – mikä ei muuten olisi mahdollista.
Jotta tietäisit, mihin Android-emulaattori pystyy, sinun kannattaa ensin ymmärtää, miten se toimii.
Miten Android-emulaattorit toimivat?
Android-emulaattorit, kuten BlueStacks, NoxPlayer tai Genymotion, ovat työpöytätietokoneelle asennettavia ohjelmistosovelluksia, jotka voivat jäljitellä Android-laitteen käytön ohjelmisto- ja laitteistokokemusta. Niiden avulla pelaajat voivat pelata mobiilipelejä tietokoneella,

ja testaajat voivat kehittää ja testata Android-sovelluksia reaaliajassa.
Emulaattorit jäljittelevät kohdejärjestelmän arkkitehtuuria. Siksi emulaattoreita löytyy monenlaisille ohjelmistoille ja laitteistoille tarpeidesi mukaan.
Mikä on pikaemulaattori (QEMU)?

Avoimen lähdekoodin työkaluna pikaemulaattori toimii monissa isäntäjärjestelmissä tai työasemissa, kuten käyttöjärjestelmissä ja suorittimissa, emuloidakseen muita vieraskäyttöjärjestelmiä ja -suorittimia.
QEMU antaa Android-emulaattoreille mahdollisuuden jäljitellä vieraslaitteen laitteistoa niin, että se vastaa isäntälaitteen laitteistoa. Se toimii tietokoneellasi ohjelmana ja muuntaa vieraan sovellusten binäärirajapinnan vastaamaan isäntälaitteen rajapintaa.
Muunnos on monimutkainen ja aikaa vievä, minkä vuoksi emulointi on erittäin hidasta. Jos isäntä- ja vieraslaitteiden arkkitehtuurit ovat kuitenkin samankaltaiset, muunnos on helppoa ja nopeaa.
Jos isäntä- ja vieraslaitteilla on samanlainen käskyarkkitehtuuri, QEMU ohittaa binaarikäännösprosessin. Se suorittaa vieraslaitteen välittömästi suoraan isäntälaitteen suorittimella – tätä prosessia kutsutaan laitteistoavusteiseksi virtualisoinniksi.
Laitearkkitehtuurien yhteensovittaminen tehdään hypervisorilla.
Have an account? Log In
Miten hypervisorit toimivat?

Hypervisor eli virtuaalikonevalvontaohjelmisto (VMM) on ohjelmisto, jonka avulla laite, esimerkiksi tietokone, voi tukea useita vierasvirtuaalikoneita jakamalla resurssejaan, kuten prosessointitehoa ja muistia. Hypervisorit auttavat hyödyntämään järjestelmän resursseja ja tarjoavat paremman IT-liikkuvuuden eri palvelinten välillä.
Hypervisoreita on kahta päätyyppiä: tyypin 1 hypervisorit eli suoraan laitteistolla toimivat hypervisorit ja tyypin 2 hypervisorit eli isännöidyt 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 tapaan, joten niiden avulla voit suorittaa Android-sovelluksen.
Ennen vuotta 2017 Androidin ARM-arkkitehtuuri edellytti käännöstä Android Studion emulaattorista, jotta se vastaisi useimpia henkilökohtaisissa tietokoneissa käytettyjä arkkitehtuureja.
Android julkaisi Developer Studion version 25.3.0, joka kehitti sen emulaattoria mahdollistamalla virtualisoinnin tehostamisen laitteistoavusteisen protokollan avulla. Siksi laitteistoavusteisen virtualisoinnin suorittamiseen tarvitaan hypervisori, mutta on hyvä muistaa, että eri tietokoneiden käyttöjärjestelmät tukevat eri hypervisoreita.
Intel käyttää Windows-tietokoneiden ja macOS-alustojen hypervisorikomponenttina laitteistokiihdytyksen suoritusohjainta eli HAXM:ia, kun taas Linux käyttää ydinpohjaista virtuaalikonetta eli KVM:ää.
Androidin x86-sovellusbinaarirajapinta 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 suorittaa virtuaalilaitteesi nopeuksilla, jotka vastaavat käytössä olevan suorittimesi nopeuksia.
Android-emulaattorin määrittäminen
Version 25.3.0 julkaisun jälkeen Android jakoi emulaattorinsa erilleen SDK-työkaluistaan. Android-emulaattorin määrittäminen voi olla hankalaa, mutta tässä on lyhyt kuvaus prosessista.
Laitteistovaatimukset
Tarvitset Android SDK:n version 26.1.1 tai uudemman. Tietokoneessasi tai kannettavassa tietokoneessasi on oltava 64- tai 86-bittinen suoritin, jotta se toimii Android-emulaattorin kanssa.
Jos käytät Androidin versiota 8.1 tai uudempaa, sinulla on oltava verkkokamera, joka pystyy tallentamaan 720p-kuvaa.
Useimmissa laitteissa emulaattori pyytää sallimaan laitteistokiihdytyksen laitteen suorituskyvylle, ja tätä varten tarvitset HAXM-version 7.2.0 Intel-hypervisorin.
Linux- ja Windows-alustojen käyttäjät tarvitsevat laitteisiin lisäkomponentteja, mutta tämä riippuu heidän suorittimistaan.
- Linuxissa käyttäjät voivat hyödyntää AMD:n virtualisointia, jossa on SIMD-joukon 3-laajennukset.
- Windows-tietokoneissa käyttäjät voivat hyödyntää Android Studion versiota 3.2 tai uudempaa, joka toimii Windows-hypervisorin ohjelmointirajapinnan kanssa.
Intel-käyttäjät voivat käyttää Intel VT-x- ja Intel 64 -tukea sekä suorituksen estävän (XD) bitin ominaisuutta.
Kun olet asentanut Android-emulaattorin, voit nyt käyttää Androidin virtuaalilaitteiden hallintaa eli AVD Manageria.
Androidin virtuaalilaitteiden hallinta (AVD)

AVD-hallinnan avulla voit määrittää ja kohdistaa Android-laitteesi.
Se sisältää valmiiksi määritettyjä profiileja puhelimille, tableteille ja televisioille – jokainen niistä on suunniteltu 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 rajatulle määrälle laitteita – ainoastaan niille, jotka ovat yhteensopivia Androidin yhteensopivuusohjelman kanssa.
AVD-hallinnan avulla voit asentaa virtuaalilaitteeseesi järjestelmän ABI:n, jota emulaattori suosittelee ja jonka arkkitehtuuri vastaa käyttämäsi suorittimen arkkitehtuuria.
AVD:n vahvistusmääritysten avulla voit muuttaa määritettyjä ohjelmisto- tai laitteistoprofiileja sekä määrittää laitteen asetuksia, kuten nimen ja suunnan.
Lopuksi emulaattori käynnistää virtuaalilaitteesi määritykset ja mahdollistaa lisähallinnat ja -säädöt, kuten geosijainnin, verkon viiveen, laitteen kiertämisen, sormenjälkitunnistimen, kameran ja akun tilan.
Virtuaalilaitteiden avulla voit tallentaa instanssisi samaan tilaan, jossa suljet ne, joten voit jatkaa siitä, mihin aiemmin jäit.
Miten Android-simulaattoreita käytetään testaukseen?
Ennen kuin kehittäjät vievät muutoksia haaraan, he testaavat koodia suoritusputkissa. Kun IDE:llä on suoritettu nopea yksikkötesti, alkavat instrumentointi- ja toiminnallisuustestit.
Android-emulaattorin avulla voit suorittaa instrumentointitestejä, esimerkiksi varmistaa, että koodi käsittelee keskeisiä resursseja ja sovelluskohtaisia tiedostoja, sekä testata ulkoisten riippuvuuksien toiminnallisuutta.
Emulaattorit auttavat myös sovellusten suorituskykytestauksessa varmistamalla, että vuorovaikutus on sujuvaa ja että sovellukset käyttävät laitteen resursseja vaadittujen rajoitusten puitteissa. Varmista tarkkojen tulosten saamiseksi, että mittaat laitteesi suorittimen ja grafiikan suorituskyvyn.
Android-emulaattori mahdollistaa vain laitteiden toiminnan lähes natiivilla nopeudella. Siksi niiltä ei pidä odottaa täysin natiivin ympäristön tuloksia. Virtuaalilaitteilla et myöskään voi testata Android-sovellustesi suorituskykyä muihin vertailuarvoihin nähden.
Ei ole olemassa luotettavaa kiertotapaa, jolla natiivisovelluksia voisi testata vastaavassa mittakaavassa Android-emulaattoreilla. Käyttöliittymän ja toiminnallisuuksien monimutkaisia selainvälisiä testejä varten tarvitset useita oikeita laitteita, jotta voit testata Chrome-, Firefox-, Safari- ja muilla selaimilla.
Insinöörit käyttävät testausautomaatioalustoja, kuten Espresson ja Appiumin, testiskriptien luomiseen ja 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-emulaattorisi 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 mahdollistaa tiedostojen vetämisen ja pudottamisen, joten 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 hallintatoimintojen avulla helpottuu.
More Articles
Heikkoudet
Android-emulaattoreihin liittyviä rajoituksia ovat muun muassa ARM-suoritinvaatimukset, levytilan käyttö, laitteistokiihdytyksen monimutkaisuus ja epäluotettavuus sovellusten vuorovaikutuksen ymmärtämisessä.
- ARM-suoritinvaatimukset
Useimmissa nykyaikaisissa tietokoneissa tai kannettavissa käytetään Intelin x86-arkkitehtuuria, ja yleisin saatavilla oleva Android-piirisarja on ARM v7a. Muista, että nopeaa emulointia varten isäntä- ja vierassuorittimen arkkitehtuurien on vastattava toisiaan. Jos laitteessa ei siis ole ARM-suoritinta, emulointi toimii heikosti, erityisesti useimpien markkinoilla olevien Android-laitteiden kohdalla.
- Levytila
AVD-hallinta luo erilliset hakemistot virtuaalilaitteen tietojen, välimuistin ja SD-korttien tietojen tallentamista varten. Yksi virtuaalilaite vie yli 3 Gt levytilaa ja saattaa kaatua, jos käynnistyksen aikana ei ole tarpeeksi vapaata tilaa.
- Laitteistokiihdytyksen monimutkaisuus
Laitteistokiihdytys parantaa suorituskykyä, vaikka sen määrittäminen on monimutkaista edistyneillekin kehittäjille. Joskus laitteiston kiihdyttäminen johtaa järjestelmän täydelliseen käyttökatkokseen tai toimintahäiriöön.
- Luotettavuuden puute
Kun ongelmana on sovellusten ja isäntälaitteen ympäristön välisten vuorovaikutusten ymmärtäminen, Android-emulaattoreista tulee epäluotettavia.
Esimerkiksi sovellustesi taustaprosessien, käyttöliittymien ulkoasun ja kirkkaustasojen sekä sen ymmärtäminen, miten sovellukset reagoivat erilaisiin kosketuseleisiin, vaikeutuu.
Mitkä ovat parhaat Android-emulaattorit?
Android-emulaattoria projektiisi valitessasi tarjolla on paljon erinomaisia vaihtoehtoja, kuten GameLoop ja MEmu. Täältä löydät luettelon markkinoilla saatavilla olevista parhaista Android-emulaattoreista sekä vinkkejä siitä, mitkä niistä sopivat parhaiten tarpeisiisi.
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ökokemuksen. Niitä käytetään 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.
Oikean Android-emulaattorin avulla voit parantaa laitteidesi suorituskykyä ja toiminnallisuutta sekä parantaa niiden käyttökokemusta.
Aiheeseen liittyvä podcast, jonka voit lukea/kuunnella: SEURAAVAN SUKUPOLVEN MOBIILITESTAUS (PERFECTON ERAN KINSBRUNERIN KANSSA)




