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

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ästä artikkelista löydät kaiken tarvittavan tiedon sekä esimerkkejä.

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?

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

Android-emulaattorin kuvakaappaus Mac-tietokoneella
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 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

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

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

Quick Emulatorin kuvakaappaus
Quick Emulatoria käytetään emuloinnin nopeuttamiseen laitteistoavusteisen virtualisoinnin avulla.

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. 

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?

Esimerkki hypervisorista: VMware-kuvakaappaus
VMware on yksi esimerkki hypervisorista.

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)

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

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.

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

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

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

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

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

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

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