Android (operatsioonisüsteem)

**Android** on tarkvarakomplekt elektroonikaseadmetele, mis kasutab Linuxi tuuma muudetud versiooni ja hõlmab operatsioonisüsteemi, vahetarkvara ja peamisi rakendusi.

Operatsioonisüsteemi töötas algul välja Android Inc., mille ostis Google, nüüd aga Open Handset Alliance.

Android avalikustati 5. novembril 2007 koos Open Handset Alliance'i asutamisega. Google väljastas enamiku lähtekoodist, kasutades Apache'i litsentsi, vaba tarkvara ja avatud lähtekoodi litsentsi.

### Ajalugu

2005. aasta juulis ostis Google ära pisikese tarkvaraettevõtte Android, mis tegutses Californias Palo Altos. Sel ajal oli ettevõttest vähe teada peale selle, et ta tootis mobiilseadmetele tarkvara. Androidi töötajad, sealhulgas Andy Rubin, jätkasid tööd Google'i heaks.

Rubini juhitav töörühm töötas välja mobiilseadmete platvormi, mis põhines Linuxi tuumal. Seda levitasid käsitelefonide tootjad ja mobiilsideoperaatorid, sest see süsteem oli paindlik ja uuendatav. Google oli varem teatanud paljudele riistvarakomponente ja tarkvara tootvatele partneritele, et see platvorm on Google'i partneritele avatud mitmesuguse koostöö jaoks.

2006. aasta detsembris hakkasid levima kuuldused, et Google kavatseb mobiiltelefone müüma hakata. BBC ja The Wall Street Journali uurimused näitasid, et Google soovib oma otsimootori ja rakenduste lisamist mobiiltelefonidele ning töötab kõvasti selle eesmärgi saavutamiseks. Trüki- ja võrgumeediaväljaanded teatasid peagi, et Google töötab välja omaenda tootesarja mobiiltelefoni. Järgnesid teadaanded, et Google on määranud kindlaks oma toodete tehnilised andmed ning näidanud oma prototüüpe mobiiltelefonitootjatele ja võrguoperaatoritele. 2007. aasta septembris teatas ajakiri InformationWeek, et Google on esitanud hulgaliselt patenditaotlusi mobiiltelefonide valdkonnas.

Lõpuks tutvustas Google oma nutitelefoni Nexus One, mis kasutas operatsioonisüsteemi Android. Seadet tootis Taiwanis asuv HTC Corporation ja müük algas 5. jaanuarist 2010. Google teatas 16. veebruaril 2010, et päevas saadetakse välja 60 000 Android OS-iga mobiiltelefoni.

### Kasutus
Androidi operatsioonisüsteemi kasutatakse nutitelefonides, sülearvutites, tahvelarvutites, Google TV-s, nutikellades, kõrvaklappides ja teistes seadmetes.

Põhiline Androidi riistvaraplatvorm on ARM-arhitektuur.

Android-seadmetega konkureerivatel Apple iPhone’il kui ka iPod Touchil, millelt on OpenBooti ja iDroidi abiga piirangud eemaldatud, saab Apple'i iOS-i ja Android 2.3.3 "Gingerbreadi" paralleelselt alglaadida.

### Litsents
Kui välja arvata mõned uuenduste perioodid, on Android olnud saadaval 21. oktoobrist 2008, "free and open source software" (tasuta ja avatud lähtekoodiga tarkvara) litsentsi alusel. Google avaldas Linuxi tuuma uuenduste lähtekoodi GNU üldise avaliku litsentsi (GPL) versiooni 2 alusel. Ülejäänud kood (võrk, tarkvara kogumik ja ka telefonipinu) aga avaldati Apache'i litsentsiversiooni 2 alusel. Selle litsentsi alusel tohivad edasimüüjad lisada täiendusi ilma neid avatud lähtekoodi kogukonnale varem näitamata. Samuti avaldab Google ülevaadatud probleemid, et need oleks soovijatele nähtavad ja neid oleks võimalik kommenteerida. Open Handset Alliance töötab välja Androidi osa, mis seisneb muudatustes kerneli tuumas ning selle lähtekood on avalik ja saadaval GPL litsentsi alusel. Ülejäänud osa Androidist töötatakse välja privaatselt, selle lähtekood avaldatakse tervikliku versiooni ilmudes. Tavaliselt teeb Google koostööd riistvara tootva firmaga, et välja töötada uut Androidi versiooni kasutav lipulaeva seade. Pärast seadme jõudmist poelettidele avaldatakse ka selle versiooni lähtekood.

Ehkki Android on avatud lähtekoodiga, ei saa seadmete tootjad kasutada Google Androidi kaubamärki enne, kui Google on tõendanud, et seade järgib nende sobivust määratlevat dokumenti algupärase pealkirjaga "Compatibility Definition Document" (CDD).

## Baas
### Linux
Androidi tuum on arendatud Linuxi tuumast ja Google on teinud ka arhitektuurilisi edasiarendusi, mis on väljaspool tavapärast Linuxi tuuma arenduse tsüklit. Kuid Linuxi võimalusi on palju kärbitud, ning madalal tasemel ei ole sellele palju ligipääsu. Androidil ei ole algupärast X Window süsteemi ja ei toeta ka täit GNU standardset andmekogu. Seetõttu on raske olemasolevaid Linuxi rakendusi ja andmekogusid Androidi paigaldada.

### Funktsioonid
;Seadme paigutus: Android töötab nii nutitelefonide kui ka tahvelarvuti ekraanisuuruseid, samuti rotatsiooni.

;Graafika: Kasutatakse OpenGL ES 2.0 ja uuematel spetsifikatsioonidel põhinevaid 2D- ja 3D-andmekogusid.

;Salvestamine: Andmete säilitamiseks kasutatakse SQLite’i (väikesemahuline struktuurpäringukeel).

;Side: Android toetab järgmisi sidetehnoloogiaid: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, LTE Advanced, NFC ja WiMAX.

;Sõnumid:Android toetab nii SMS- kui ka MMS-vormingus sõnumite saatmist. Samuti jutulõnga-põhine SMS-suhtlus ja Androidi C2DM-raamistik (pilvest seadmesse tekstsõnumite saatmise raamistik) osana Android Push sõnumisaatmise teenustest.

;Erinevate keelte tugi: Android toetab paljusid keeli. Nende arv enam kui kahekordistus, kui tuli välja versioon 2.3 Gingerbread.

;Veebibrauser:Androidis oleva brauseri põhjaks on avatud lähtekoodiga algselt WebKit ja hiljem Blink kuvamootor koos Chrome V8 JavaScripti mootoriga. Vaikebrauser (Internet) ja Androidi sisseehitatud WebView' komponendi kuvamootor toetavad muuhulgas WML-vormingus WAP-protokolli jaoks mõeldud lehekülgi.  ja sellel põhinevad brauserid WML-vormingut vaikimisi ei toeta.

;Java tugi:Kuigi enamik rakendusi on Androidile kirjutatud Java programmeerimiskeeles, puudub tegevusprogrammis Java virtuaalmachine ja Java baitkoodi ei käivitata. Java klassid on koostatud Dalvik-u täitmisprogrammideks ja käitab Dalvikus, mis on spetsialiseerunud virtuaalmasin kavandatud spetsiaalselt Androidi jaoks ja optimeeritud akutoitel töötavate seadmete jaoks, millel on piiratud mälumaht ja keskprotsessor. Java ME mobiilrakenduste toe võib saada kolmanda osapoole äppide kaudu.

;Meediatugi:Android toetab järgmisi audio/video/kaadermeediavorminguid: WebM, H.263, H.264 (3GP ja MP4 konteineris), MPEG-4 SP, AMR, AMR-WB (3GP konteineris), AAC, HE-AAC (3GP ja MP4 konteineris), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG, PNG, GIF, BMP.

;Striimingu-toetus: RTP/RTSP-esitus (3GPP PSS, ISMA), HTML progressiivne allalaadimine (HTML &lt;video&gt; märgend). Adobe Flashi striimid (RTMP) ja HTTP dünaamilised striimid on olnud toetatud Flash-pluginaga. Apple HTTP Live voogesitust toetab RealPlayer mobiilide jaoks ja ka Android 3.0.

;Täiendav riistvaratugi: Android oskab kasutada video/kaader kaameraid, puutetundlikke ekraane, GPS-i, kiirendusmõõtureid, güroskoope, baromeetreid, magnetomeetreid, mängimisseadmeid, lähedus- ja rõhuandureid, termomeetreid, kiirendatud 2D *bit blits*-e (koos riistvara ekraani suuna, mõõtkava ja pikseliformaadi ümberarvestamisega) ja kiirendatud 3D-graafikat.

;Mitmikpuude: Androidil on loomulik mitmikpuutetugi (reageerib korraga mitmele puudutusele), mis oli esimesena võimalik nutitelefonis HTC Hero. See eriomadus oli tuuma tasandil algselt välja lülitatud (tol ajal arvatavasti selle pärast, et see ei rikuks Apple'i patente puutetundliku ekraani kohta). Google on välja andnud uuenduse Nexus One’ile ja Motorola Droidile, mis võimaldab kasutada mitmikpuutefunktsioone.

;Videokõne: Androidil ei ole algupärast tuge mobiilsidel põhinevate videokõnede jaoks, aga mõnel telefonil on tootja poolt tehtud opsüsteemist kohandatud versioon, mis toetab mobiil-videokõnesid IP- või UMTS-võrgu kaudu (näiteks Samsung Galaxy S). Androidi 2.3.4 (Gingerbread) ja hilisemad said rakenduspõhise videokõne toetuse Google Talk'i, Skype'i jt äppide kaudu. Gingerbread versioon lubab Nexus S mobiilil tellida internetikõnesid SIP-kontoga. See võimaldab täiustatud VoIP-kõnevalimist teistele SIP-kontodele ja telefoninumbritele. Skype 2.1 rakendi pakub võimalust videokõnede jaoks ja ka esikaamera tuge.

;Multitegumtöö: rakenduste multitegumtöö on võimalik &mdash; sobiva mälumahu korral on võimalik kasutada mitu rakendust korraga. Kui seadme mälumaht on piiratud, siis mitteaktiivne rakendus väljub mälust. Rakenduse seis võib salvestuda, kuid selle juurde naastes käivitub rakendus põhimõtteliselt uuesti.

;Häälepõhised funktsioonid: Google'i hääleotsing on olnud võimalik alates Androidi esimese versiooni avaldamisest. Häälkäsud helistamiseks, sõnumite saatmiseks, menüüdes liikumiseks said toe alates Androidi versioonist 2.2.

;Kuumpunkt (ka *hotspot*): Android toetab "lõastamist" (i.k. *tethering*), mis võimaldab telefoni kasutada juhtmevaba Wi-Fi *hotspot*&rsquo;i ehk kuumpunktina ruuteri kujul, mis töötab maksimumvõimsusel. Enne Androidi 2.2 versiooni oli see võimalik kasutades ainult kolmanda osapoole rakendusi või tootjapoolsete kohandustega. Kuumpunkti võimalus on varem olnud mitmetel Nokia ja teiste tootjate omasüsteemsetel nuti- ja nuputelefonidel läbi Bluetooth'i.

;Kuvatõmmised:Androidil on algupärane tugi kuvatõmmise jäädvustamiseks vajutades üheaegselt voolunuppu ja "helitugevus alla"-nuppu. Sisseehitatud tugi sellele tuli välja koos Android 4.0-ga ning oli esimesena võimalik Galaxy Nexus (Samsung/Google GT-I9250) nutitelefonil. Varem ei olnud Androidil sisseehitatud kuvatõmmise jäädvustamise tuge turvapõhjustel; kuvatõmmiste tegemiseks olid seni vajalik kas PC-ühendus (DDMS arendaja tööriist), tootja või kolmanda osapoole rakendused.

## Rakendused

Androidi rakendus asub APK-s (*application package file*), mis on lihtne ZIP-fail, millel on kindel sisemine faili kujundus. See võimaldab kohest käivitamist ehk seda ei pea enne lahti pakkima. Neid saab saata e-postiga, salvestada USB-mälupulgale ja ka eraldada mõne osa sellest lahtipakkimise järel.

Rakendused töötatakse tavaliselt välja Java programmeerimiskeeles, kasutades Android Software Development Kiti (Androidi tarkvaraarenduskomplekti). On olemas ka teisi arendamisvahendeid, näiteks Native Development Kit rakenduste ja laienduste jaoks C või C++ keeles, ja ka Google App Inventor, mis on graafiline keskkond algajale programmeerijale. Lisaks on veel mitmeid erinevaid platvormitundetuid rakenduste raamistikke.

### Rakenduste saamise viisid
Eelinstallitud rakendused – Android sisaldab selliseid eelinstallitud rakendusi nagu telefon, e-post, kalender, veebibrauser ja kontaktid. Need toimivad nii kasutaja rakendustena kui ka võtmevõimalustena, mida saavad kasutada teised rakendused. Eelinstallitud rakendused võivad olla osa Androidi tegevusprogrammist või on originaaltootja arendatud kindla seadme jaoks.Kasutaja installitavad rakendused – Android pakub arengut soodustavat avatud keskkonda, mis toetab erinevaid kolmanda osapoole rakendusi, mille sarnaseid pakub Android Market kasutajatele tuhandeid.

### Rakenduste turvalisus
Androidi rakendused töötavad liivakastis, operatsioonisüsteemi eraldatud osas, millel ei ole juurdepääsu ülejäänud süsteemi ressurssidele, välja arvatud juhul, kui kasutaja on andnud vastava loa rakenduse paigaldamisel.

On teatatud mõnest Android Marketis saadaval olevast Androidi tarkvaraga seotud pahavara juhtumist, kus on tegemist olnud pettusrakendusega. Mõnikord on Trooja hobust sisaldavad rakendused peidetud legaalsete rakenduste piraatversioonidesse. Sellele on Google reageerinud pahatahtlike rakenduste eemaldamisega Android Marketist ja halvanud nende töö nakatunud seadmetes. Turvafirmad nagu AVG Technologies ja Symantec on välja andnud oma viirustõrje Androidi seadmetele.

## Android Market
Android Market oli veebipõhine tarkvarapood, mille Google arendas välja Google Androidi seadmete jaoks. Market rakendus oli eelinstallitud enamikule Androidi seadmetele ja see võimaldas kasutajatel sirvida ja alla laadida sinna riputatud äppe, mille kolmanda osapoole arendajate avaldasid.

Ainult seadmetel, mis järgivad Google'i sobivusnõudeid, on lubatud eelinstallida Google’i suletud lähtekoodiga Android Marketi rakendust ja omada sellele juurdepääsu.

Praeguseks Android Marketit enam ei ole, selle asemel on seadmetel Google Play Store, mis on sama asi, ainult teise nime ja kujundusega. Google Play Store käitamiseks on vaja Google Play Teenused komponenti; mõlemad uuenduvad taustal automaatselt, kuid uuendamise käigus võib süsteem muutuda aeglasemaks.

## Privaatsus
Androidi nutitelefonidel on oskus anda teada Wi-Fi võrgu juurdepääsukohtadest, mis mobiilikasutaja ringi liikudes leitakse, et nendest kokku panna laiaulatuslik andmebaas, mis hõlmab miljonite selliste pöörduspunktide füüsilist asukohta. Need andmebaasid moodustavad elektroonilisi kaarte, et üles leida seadme asukoht, mis võimaldab neil käitada rakendusi nagu Foursquare, Latitude, Places ja et laiali kanda asukohapõhiseid reklaame.

Üheks kavandi veaks on, et tavakasutaja ei saa jälgida, kuidas rakendus pääseb juurde tema privaatandmetele (näiteks asukoht ja riistvara ID numbrid) ja kuidas neid kasutatakse. Isegi installimise käigus, kui küsitakse luba, ei ole näidatud, kuidas kasutatakse (või ka ära kasutatakse) olulisi teenuseid ja andmeid. Kolmanda osapoole valmistatud tarkvara TaintDroid on akadeemiliseks uurimuseks rahastatud projekt, mis identifitseerib, millist infot rakendused serveritele saadavad.

## Vaata ka
* MIUI – Hiina tootja Xiaomi suletud lähtekoodiga mittevaba Androidi derivaat

## Välislingid
* Androidi ametlik koduleht
* Mis on Android?
* Mis on Android? Androidi arendajate ametlik veebileht
* Androidi ametlik turbeteemade veebileht
* Sergey Brin esitleb Android OS-i Youtube'is