Mikä Android-emulaattori on ja miten sitä käytetään testaamiseen?

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Mietitkö, mikä Android-emulaattori on ja miten se voi auttaa sovelluksesi testaamisessa? Tässä artikkelissa kerrotaan esimerkkien avulla kaikki, mitä sinun tarvitsee tietää.

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?

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ä.

Kuvakaappaus Android-emulaattorista Macissa
Android-emulaattorit voivat toimia sekä Mac- että PC-tietokoneilla, joten kuka tahansa käyttäjä voi testata sovelluksiaan Androidissa.

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,

BlueStacks-kuvakaappaus
Tässä kuvakaappauksessa näkyvä BlueStacks on esimerkki suositusta Android-emulaattorista.

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)?

Pikaemulaattorin kuvakaappaus
Pikaemulaattoria käytetään emuloinnin nopeuttamiseen laitteistoavusteisen virtualisoinnin avulla.

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. 

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

Miten hypervisorit toimivat?

VMware, esimerkki hypervisorista
VMware on yksi esimerkki hypervisorista.

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)

Androidin virtuaalilaitteiden hallinnan (AVD) kuvakaappaus
Androidin virtuaalilaitteiden hallinnan avulla käyttäjät voivat asentaa järjestelmä-ABI:n, joka vastaa käytössä olevan suorittimen arkkitehtuuria.

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.

  1. 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.

  1. 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ä.

  1. 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.

  1. 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.

  1. 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.

  1. 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)

Jason Boog
Over his 15-year career, Jason Boog has worked as a QA tester, QA analyst, and Senior QA Analyst on video games, commercial sites, and interactive web applications. He spent more than a decade building out the QA team and process as Director of Quality & Client Support at a full-service digital agency.
Follow the author:

You may also like