Android

Wikipediasta
Siirry navigaatioon Siirry hakuun
Android
Android new logo 2019.svg
Android 10
Android 10
Kehittäjä Google
Open Handset Alliance
Toiminnallinen tila Aktiivinen
Julkaistu 23. syyskuuta 2008[1]
Viimeisin vakaa versio 11 (2020[2])
Ytimen tyyppi Monoliittinen ydin
Ydin Linux
Lähdekoodimalli Avoin lähdekoodi, mutta suuressa osassa laitteita on suljetun lähdekoodin osia
Lisenssi Apache 2.0 ja GPLv2[3]
Kotisivu www.android.com
Versiohallinta https://android.googlesource.com

Android on älypuhelimille, tablettitietokoneille ja älytelevisioille suunniteltu ohjelmistopino, joka sisältää käyttöjärjestelmän, väliohjelmistoja ja käyttäjän perusohjelmia. Siinä käytetään avoimen lähdekoodin Linux-käyttöjärjestelmän ydintä. Androidia kehitti alun perin Android Inc., jonka Google myöhemmin osti. Nykyisin sen kehittämisestä vastaa Open Handset Alliance.[4]

Android julkistettiin 5. marraskuuta 2007 Open Handset Alliancen perustamisen yhteydessä. Open Handset Alliance koostuu 84 laitteisto- ja ohjelmistovalmistajasta sekä teleoperaattorista.[5] Google julkisti suurimman osan Androidin koodista avoimen koodin ja vapaan ohjelmiston Apache-lisenssillä.[3]

Ominaisuudet[muokkaa | muokkaa wikitekstiä]

Android-sovelluksen käyttämä ohjelmistopino.

Androidin ohjelmistopino koostuu Linux-ytimestä, Bionic-C-kirjastosta[6] ja muista järjestelmäkirjastoista sekä järjestelmäohjelmista. Lisäksi käyttöjärjestelmässä on Android-sovelluskehys ja sovellusohjelmat, jotka suoritetaan Android Runtime (ART) -ajoympäristöllä (ennen versiota 5.0 Dalvik-virtuaalikoneella).[7][8] Käytettävissä olevat C-kieliset kirjastot ovat muun muassa surface manager, OpenCore media framework, SQLite-relaatiotietokantajärjestelmä, OpenGL ES 2.0 -ohjelmointirajapinta, WebKit-selainmoottori, SGL-grafiikkamoottori ja SSL.[9]

Sovelluksien käyttämä grafiikkakirjasto on siirtynyt Skia-kirjastoon, jossa on Vulkan-rajapinnan tuki laitteistokiihdytykseen.[10][11]

Android on tukenut 32-bittisiä ARM, MIPS ja x86 -arkkitehtuureita sekä 64-bittisiä ARM v8, x86-64 ja MIPS-64 -arkkitehtuureita Android 5.0 Lollipop -versiosta lähtien.[12] MIPS-tuki on poistettu Android NDK r17 -versiossa.[13]

Androidin emulaattori (v7.0).

Arkkitehtuuri[muokkaa | muokkaa wikitekstiä]

Androidin arkkitehtuuri alimpana (lähimpänä laitteistoa) on Linux-ydin.[14] Ydin on muokattu versio Linuxista, jossa on joitakin lisäyksiä järjestelmän toimintaa varten.[14] Ytimen päällä on HAL-kerros (engl. Hardware Abstraction Layer).[14][15] HAL-kerros erottaa laitteistovalmistajien kirjoittamat ajurit Androidin sovellukehyksestä.[14] HAL-kerroksen päällä ovat järjestelmän palvelut, jonka päällä on Binder-IPC.[14] Ylimpänä on Androidin sovelluskehys, jota sovelluskehittäjät useimmiten käyttävät.[14]

Linux-ytimen käytön johdosta Androidia on toisinaan kutsuttu Linux-jakeluksi kuten Ubuntu, Debian ja Red Hat.[16] Androidissa ei kuitenkaan ole samaa ohjelmistopinoa kuin tyypillisessä Linux-jakelussa ja ei siksi ole rinnastettava jakelu.[17]

Sovelluskehitys[muokkaa | muokkaa wikitekstiä]

Pääartikkeli: Android-sovelluskehitys

Androidiin tarkoitettuja sovelluksia voidaan kirjoittaa Java- ja Kotlin-kielellä ja se käyttää Googlen kehittämiä Java-kirjastoja.[9][18] Kotlin on vuodesta 2019 lähtien suositeltu kieli sovelluskehittäjille.[19]

Android SDK -kehityspaketti sisältää useita kehityksessä käytettäviä työkaluja.[20] Lisäksi Android NDK -ohjelmistokehityspaketilla voidaan kehittää sovelluksia C- ja C++-kielillä.[21]

Android-sovellukset käyttävät XML-pohjaista resurssijärjestelmää, jonka mukaan sovelluskehys valitsee sopivan vaihtoehtoisen resurssitiedoston käytetyn alustan mukaan (kuten älypuhelin tai tabletti).[22] Sovellukset asennetaan laitteisiin APK-pakettitiedostoilla.[23]

Nykyiset ominaisuudet ja määrittelyt[muokkaa | muokkaa wikitekstiä]

[9][24][25]

Tiedon tallentaminen Tiedon tallentamiseen ohjelmille käytetään SQLite-relaatiotietokantaa.
Viestintäteknologiat Android tukee muun muassa seuraavia teknologioita: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi ja WiMAX.
Selain Androidin selain perustuu avoimen lähdekoodin WebKit-moottoriin ja V8 JavaScript-moottoriin.
Java-tuki Android -sovelluksia kirjoitetaan Javalla, mutta Android ei hyödynnä Java-virtuaalikonetta. Java-luokkia käännetään Dalvik-suoritettavaksi koodiksi ja suoritetaan Dalvik-virtuaalikoneella. Dalvik on Androidissa käytetty virtuaalikone, joka optimoitiin tietokoneita rajallisemmille mobiililaitteille. Toisin kuin jotkut mobiilialustat, Android ei tue J2ME-sovellusympäristöä.
Mediatuki Android tukee seuraavia ääni-, video- ja kuvaformaatteja: H.263, H.264 (3GP- tai MP4-pakkauksessa), MPEG-4 SP, AMR, AMR-WB (3GP-pakkauksessa), AAC, HE-AAC (MP4- tai 3GP-pakkauksessa), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF ja BMP.[24]
Lisälaitteistotuki Android pystyy käsittelemään video- ja kuvakameroita, kosketusnäyttöjä, GPS:ä, kiihtyvyysmittareita, magnetometrejä, kiihdytettyjä 2D bit-BLIT:eja (accelerated 2D bit blits) ja kiihdytettyä 3D-grafiikkaa.
Kehitysympäristö Kehitysympäristössä on laite-emulaattori, virheiden jäljittämistyökaluja, muistia ja suorituskykyä mittaavia työkaluja ja liitännäinen Eclipse-ohjelmointiympäristölle.
Sovelluskauppa Google Play -sovelluskatalogi (entinen Android Market) sisältää sovelluksia, joita käyttäjä pystyy lataamaan ja asentamaan ilman tietokonetta. Alun perin Google Play:ssä oli vain ilmaisia sovelluksia, mutta maksullisia sovelluksia on ollut saatavissa 19. helmikuuta 2009 lähtien.[26] Google Play kasvaa nopeasti. 30. huhtikuuta 2010 siinä oli yli 50 000 sovellusta ladattavissa.[27]
Monikosketus Android tukee monikosketusta.[28] Googlen julkistamat päivitykset Nexus One- ja Motorola Droid -puhelimille ottavat monikosketuksen käyttöön.[29]
Bluetooth Tuki A2DP:lle (Advanced Audio Distribution Profile) ja AVCRP:lle (Audio/Video Remote Control Profile) lisättiin Androidiin versiossa 1.5.[30] Versio 2.0:n mukana lisättiin tiedostojen lähettäminen (OPP) ja yhteystietojen hakeminen (PBAP) Bluetoothin kautta.[31] Version 2.2:n mukana lisättiin 'voice dialing' ja kontaktien yhteystietojen lähettäminen puhelimien välillä.[32]
Moniajo Käyttäjä pystyy ajamaan monta sovellusta samanaikaisesti.[33]

Päivityshistoria[muokkaa | muokkaa wikitekstiä]

Pääartikkeli: Androidin versiohistoria

Androidista on julkaistu uusia versioita julkistuksen jälkeen. Uudet versiot yleensä korjaavat virheitä ja lisäävät uusia ominaisuuksia.

Androidin lähdekoodi (vuonna 2010) sisältää 12 miljoonaa koodiriviä, josta 3 miljoonaa riviä on XML-koodia, 2,8 miljoonaa riviä on C-koodia ja 2,1 miljoonaa riviä on Java-koodia.[34]

Käyttöliittymät[muokkaa | muokkaa wikitekstiä]

Vain harvat Android-laitteet käyttävät muokkaamatonta eli ”puhdasta” Androidia.[35] Useimmat Android-valmistajat käyttävät laitteissaan esiasennettuna omaa käyttöliittymäänsä, joka eroaa puhtaasta Androidista oletussovellusten ja graafisen ilmeen osalta. Erityisesti monien kiinalaisten valmistajien käyttöliittymät muistuttavat graafiselta ilmeeltään Applen iOS:ää, ja niistä puuttuu iOS:n tavoin sovellusvalikko.[36] Tunnettuja valmistajista riippumattomia versiota Androidista ovat muun muassa CyanogenMod ja sen seuraajaksi tehty LineageOS.

Suosio[muokkaa | muokkaa wikitekstiä]

NPD Group -tutkimusyhtiön mukaan vuoden 2010 ensimmäisen neljänneksen aikana Android nousi Yhdysvaltain toiseksi myydyimmäksi mobiilialustaksi. BlackBerryn RIM-käyttöjärjestelmää käyttäviä mobiililaitteita myytiin eniten ja Applen iOS-käyttöjärjestelmää käyttäviä laitteita myytiin kolmanneksi eniten.[37][38]

Android nousi älypuhelinten markkinajohtajaksi vuoden 2010 viimeisellä neljänneksellä.[39] Gartner arvioi Androidin markkinaosuudeksi älypuhelimissa 52,5 % vuoden 2011 kolmannella neljänneksellä.[40] Kesällä 2013 Androidin markkinaosuuden on arvioitu lähestyvän 70 %:ta. [41] Vuoden 2015 toisella neljänneksellä Androidin markkinaosuus oli 82.8 %.[42]

Älypuhelimien markkinosuudet vuoden 2016 lopussa jakaantuivat seuraavasti: Android 86,8 %, iOS 12,5 %, muut alle 1 %.[43]

Androidista on tullut internetin käytetyin alusta vuonna 2017 ohittaen mm. Windowsin.[44]

Androidille on julkaistu 2,9 miljoonaa sovellusta Google Play -kaupassa.[45]

Tietoturva[muokkaa | muokkaa wikitekstiä]

Kuluttajajärjestö Whichin mukaan maaliskuussa 2020 kaksi viidesosaa maailman Android-laitteista oli tietoturvaltaan uhanalaisia, koska niihin ei enää tehdä ohjelmistopäivityksiä. Päivityksiä ei enää tehdä Androidin versioihin 1.0–7.0. Vielä maaliskuussa 2020 näitä ohjelmistoversioita pyörittäviä laitteita oli päivittäisessä käytössä yli miljardi kappaletta.[46][47]

Androidin "tehdasasetusten palautuksen" on todettu olevan tehoton menetelmä laitteella olevien tiedostojen tuhoamiseksi. Esimerkiksi yleinen tapa myydä käytetty laite vieraalle henkilölle nettihuutokaupassa aiheuttaa riskin vuotaa kaikki puhelimella olleet kuvat, kirjautumistiedot ja muut tiedostot. Tämä johtuu siitä että Android ei uudelleenkirjoita käytettyjä alueita muistista uudelleen bitti bitiltä.[48]

Vuoden 2015 tammikuussa puolet Android-laitteista ovat suojaamattomia WebView-ominaisuudesta löytyneen haavoittuvuuden johdosta. Kyseinen haavoittuvuus koskee Jelly Bean (4.1–4.3) -versioita, joihin Google ei enää tee korjauksia. Tammikuussa 2015 suojaamattomia Android laitteita on noin miljardi. Androidin 4.4-versiossa WebView'sta luovuttiin ja tilalle otettiin Blink-renderöintimoottori, jossa vastaavaa haavoittuvuutta ei ole havaittu. Haavoittuvuuksien testaamiseen keskittynyt Metasploit julkaisi 15.1.2015 ohjelmastaan version, joka sisälsi 11 eri WebView-haavoittuvuutta, joita ei tulla korjaamaan.[49]

Google aloitti elokuussa 2015 kuukausittaiset tietoturvapäivitykset Android-laitteilleen. Samalla Androidin asetuksiin lisättiin kohta, josta laitteen tietoturvatason voi tarkistaa. Isoista valmistajista ainakin LG, Motorola ja Samsung ovat sitoutuneet kuukausittaisten tietoturvapäivitysten toimittamiseen.[50][51] Google on lisännyt SELinuxin käyttöä sovelluksien oikeuksien rajoittamiseen.[52][53] SELinux on ollut Androidissa versiosta 4.3 lähtien.[53]

Paikkatiedon vakoilutoiminto[muokkaa | muokkaa wikitekstiä]

Android-puhelimet ja tabletit lähettivät vuonna 2017 Googlelle tietoja puhelimen lähistöllä olevien tukiasemien osoitteista, vaikka käyttäjä olisi kytkenyt paikannustoiminnon pois puhelimen asetuksista tai vaikka puhelimessa ei olisi SIM-korttia paikallaan. Google ilmoitti marraskuussa 2017 lopettavansa automaattisen paikkatietojen keräämisen.[54]

Variaatiot[muokkaa | muokkaa wikitekstiä]

Androidista on eri versioita eri käyttötarkoituksiin kuten Android Wear päällepuettaviin laitteisiin ja Android Auto autoteollisuuteen.[55]

Katso myös[muokkaa | muokkaa wikitekstiä]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. Announcing the Android 1.0 SDK, release 1 Google. Viitattu 22.11.2017.
  2. Gartenberg, Chaim: Android 11 is here – and not just for Google Pixel phones The Verge. 8.9.2020. Viitattu 10.9.2020. (englanniksi)
  3. a b Licenses Android Open Source Project. Viitattu 10.06.2010. (englanniksi)
  4. Industry Leaders Announce Open Platform for Mobile Devices 5.11.2007. Open Handset Alliance. Viitattu 10.6.2010. (englanniksi)
  5. Open Handset Alliance Open Handset Alliance. Viitattu 6.11.2007. (englanniksi)
  6. Bionic C Library Overview dre.vanderbilt.edu. Viitattu 10.2.2020. (englanniksi) 
  7. Platform Architecture developer.android.com. Viitattu 29.2.2020. (englanniksi) 
  8. Experimental Google ART runtime in Android KitKat can bring twice faster app executions phonearena.com. 7.11.2013. Viitattu 29.2.2020. (englanniksi) 
  9. a b c What is Android? developer.android.com. Viitattu 10.06.2010. (englanniksi)
  10. Ron Amadeo: Talkin’ Treble: How Android engineers are winning the war on fragmentation 8.6.2018. Ars Technica. Viitattu 10.2.2020. (englanniksi) 
  11. Vulkan skia.org. Viitattu 10.2.2020. (englanniksi) 
  12. Android Lollipop developer.android.com. Viitattu 10.2.2020. (englanniksi) 
  13. Android ABIs developer.android.com. Viitattu 10.2.2020. (englanniksi)
  14. a b c d e f Android Architecture source.android.com. Viitattu 10.2.2020. (englanniksi)
  15. Legacy HALs source.android.com. Viitattu 10.2.2020. (englanniksi)
  16. Jim Lynch: Is Android really a Linux distribution? itworld.com. 20.8.2013. Arkistoitu . Viitattu 10.2.2020. (englanniksi)
  17. Ryan Paul: Dream(sheep++): A developer’s introduction to Google Android arstechnica.com. 24.2.2009. Viitattu 10.2.2020. (englanniksi)
  18. Google is adding Kotlin as an official programming language for Android development 17.5.2017. Verge. Viitattu 17.2.2020. (englanniksi) 
  19. Lardinois, Frederic: Kotlin is now Google’s preferred language for Android app development 7.5.2019. TechCrunch. Viitattu 19.2.2020. (englanniksi)
  20. Command line tools developer.android.com. Viitattu 10.2.2020. (englanniksi) 
  21. Android NDK developer.android.com. Viitattu 10.2.2020. (englanniksi)
  22. App resources overview developer.android.com. Viitattu 10.2.2020.
  23. Application Fundamentals developer.android.com. Viitattu 13.9.2020. (englanniksi)
  24. a b Android Developers: Android Supported Media Formats developer.android.com. Viitattu 11.06.2010. (englanniksi)
  25. Google's Android OS early look SDK now available engadget.com. 12.11.2007. Viitattu 11.06.2010. (englanniksi)
  26. Nilay Patel: Paid apps appear in Android Market 19.2.2009. Engadget. Viitattu 11.6.2010. (englanniksi)
  27. Phil Nickinson: Android Market now has 50,000 Apps 30.2.2010. AndroidCentral. Viitattu 11.6.2010. (englanniksi)
  28. Steven Musil: Report: Apple nixed Android's multitouch news.cnet.com. 11.2.2009. Viitattu 11.6.2010. (englanniksi)
  29. Chris Ziegler: Nexus One gets a software update, enables multitouch 2.2.2010. Engadget. Viitattu 11.06.2010. (englanniksi)
  30. Android 1.5 Platform Highlights Android Developers. Viitattu 11.6.2010. (englanniksi)
  31. Android 2.0 Platform Highlights Android Developers. Viitattu 11.6.2010. (englanniksi)
  32. Android 2.2 Platform Highlights Android Developers. Viitattu 11.6.2010. (englanniksi)
  33. Tim Bray: Multitasking the Android Way android-developers.blogspot.com. 28.4.2010. Viitattu 11.6.2010. (englanniksi)
  34. How many lines of code does it take to create the Android OS? 23.5.2010. Gubatron.com. Viitattu 3.6.2010. (englanniksi)
  35. Konttinen, Erno: Kumpi mieluummin: puhdas Android vai valmistajan oma käyttöliittymä? Mobiili.fi. 13.7.2015. Viitattu 30.3.2017.
  36. Laitila, Teemu: Kovaa rautaa, pehmosoftaa. Mikrobitti, 1/2017, s. 32–33. Alma Talent.
  37. Peter Kafka: Is Android Really Outselling Apple? 5.10.2010. The Wall Street Journal Digital Network. Viitattu 10.6.2010. (englanniksi)
  38. Donald Melanson: NPD: Android ousts iPhone OS for second place in US smartphone market 5.10.2010. Engadget. Viitattu 10.6.2010. (englanniksi)
  39. http://uk.reuters.com/article/2011/01/31/oukin-uk-google-nokia-idUKTRE70U1YT20110131
  40. Gartner Says Sales of Mobile Devices Grew 5.6 Percent in Third Quarter of 2011; Smartphone Sales Increased 42 Percent Gartner. Viitattu 3.1.2012.
  41. Ingrid Lunden: Android, Led By Samsung, Continues To Storm The Smartphone Market, Pushing A Global 70 % Market Share Techcrunch.com. Viitattu 23.7.2013.
  42. Smartphone OS Market Share, 2015 Q2 IDC.com. Viitattu 29.03.2015. (englanniksi)
  43. Smartphone OS Market Share, 2016 Q3 IDC. Viitattu 7.4.2017.
  44. Russell, Jon: Report: Android overtakes Windows as the internet’s most used operating system 3.4.2017. TechCrunch. Viitattu 22.11.2017.
  45. Number of available applications in the Google Play Store from December 2009 to December 2019 statista.com. 5.2.2020. Viitattu 10.2.2020. (englanniksi)
  46. Steve Ranger: Android security warning: One billion devices no longer getting updates ZDNet. Viitattu 14.6.2020. (englanniksi)
  47. » Void Android: More than one billion Android devices at risk of hacking attacks press.which.co.uk. Viitattu 14.6.2020. (englanniksi)
  48. Android's phone wiping fails to delete personal data cnet.com. 8.7.2014. Viitattu 13.7.2014.
  49. Extremetech Google throws nearly a billion Android users under the bus, refuses to patch OS vulnerability (englanniksi)
  50. Android Security Bulletins | Android Open Source Project source.android.com. Viitattu 4.4.2017.
  51. Google, Samsung ja LG reagoivat uhkiin – Android-päivitykset tihenevät Ilta-Sanomat. 6.8.2015. Viitattu 4.4.2017.
  52. Android Security 2017 Year In Review (PDF) Google. maaliskuu 2018. Viitattu 10.2.2020. (englanniksi)
  53. a b Security-Enhanced Linux in Android source.android.com. Viitattu 10.2.2020. (englanniksi)
  54. Google seuraa Android-käyttäjiä vaikkei puhelimessa ole sim-korttia – tunnusti vasta jäätyään kiinni. 22.11.2017. https://www.is.fi/digitoday/mobiili/art-2000005459533.html
  55. Android Auto coming to Audi dashboards, no phone required 24.5.2017. Android Authority. Viitattu 13.4.2018.

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]