Entorns de desenvolupament d'aplicacions mòbils

Fa uns anys, un directiu d’una gran companyia d’informàtica va profetitzar el començament de l’època post-PC, un moment en què els usuaris deixaran de fer servir els ordinadors tal com els coneixem ara (bàsicament ordinadors de taula i ordinadors portàtils) per fer les tasques més habituals del dia a dia: comunicar-se (per correu electrònic, missatgeria o videoconferència), navegar per Internet o consumir continguts.

Aquest moment ja ha arribat, i la varietat de dispositius que tenim actualment ens permet realitzar fàcilment totes les nostres tasques diàries. De fet, la línia que separa uns dispositius d’uns altres cada vegada es fa més difícil de definir: els telèfons tenen cada vegada pantalles més grans, al mateix temps que les tauletes tàctils disposen de diferents mides, de forma que la diferència entre un telèfon gran i una tauleta petita és merament il·lusòria (com la diferència entre portàtils i netbooks). Per això, els sistemes operatius i la manera de programar-hi s’ha integrat, de forma que tots aquests dispositius mòbils multimèdia comparteixen les mateixes característiques i han integrat els mateixos sistemes i programari.

El mercat actual d'aplicacions mòbils

Avui en dia la batalla dels dispositius mòbils està més d’actualitat que mai. Apple va revolucionar el mercat de la telefonia mòbil amb el seu iPhone, deixant una sèrie de víctimes pel camí com van ser Palm, Windows CE i els telèfons de Nokia amb Symbian. Tota la resta del mercat ha estat cercant durant anys l’anomenat iPhone Killer (assassí de l’iPhone) o el telèfon que desbancaria el famós telèfon intel·ligent de la companyia de la poma com a telèfon amb més èxit. Finalment, ens hem trobat que no ha existit aquest telèfon, sinó que l’èxit d’altres plataformes (com ara Android, adquirit per Google l’any 2005) ha consistit a establir tot un ecosistema de dispositius compatibles amb què combatre la quota de mercat dels dispositius Apple. Els altres actors d’aquesta competició de mercat (Blackberry de RIM, Firefox OS de Mozilla, Windows Phone de la mà de Microsoft i Ubuntu Touch OS de Canonical, entre d’altres) tenen la difícil tasca de trobar el seu espai en un mercat on cada vegada és més difícil trobar visibilitat.

Tot i no vendre tants telèfons com altres companyies, els beneficis d’Apple superen amb escreix els de les altres companyies.

Actualment, el mercat de fabricants de mòbils està copat amb companyies que obtenen gran part dels seus beneficis de dispositius amb Android. Entre aquestes trobem les companyies que ja desenvolupaven telèfons abans de l’era iPhone com ara Samsung, LG o Sony i companyies que s’han incorporat posteriorment com ara Xiaomi (Mi), Oneplus o Lenovo per exemple.

Quant als sistemes operatius dels anomenats telèfons intel·ligents, es pot veure la quota de mercat el desembre de 2014 a la taula.

Taula: Quota de mercat dels diferents sistemes operatius en ‘smartphones’ (desembre de 2014)
Sistema operatiu Quota de mercat
Android 84,4%
iOS 11,7%
Windows Phone 2,9%
Blackberry 0,5%
Altres 0,6%
Dades de la consultora [[http://www.idc.com/|IDC]]

Una de les característiques que més va afiançar Apple amb el seu iPhone va ser la inclusió d’un mercat d’aplicacions integrat al propi dispositiu, on els usuaris poden cercar, analitzar i comprar aplicacions d’una manera molt senzilla. Aquest ecosistema d’aplicacions s’ha demostrat com un dels valors afegits més importants en els actuals dispositius mòbils, atès que un aparell amb un gran maquinari té una utilitat molt limitada si no ve acompanyat d’un programari que en faci un servei adequat. En aquest sentit, Google va entendre la importància de les aplicacions i ha facilitat la creació d’aplicacions i la seva publicació en llur mercat d’aplicacions. Així, a pesar d’haver llançat la seva plataforma d’aplicacions més tard, la quantitat d’aplicacions descarregades creix a un ritme molt alt, tal com es pot veure a la figura.

Figura Aplicacions descarregades des del llançament de la plataforma

Història dels telèfons intel·ligents

El mercat de la telefonia mòbil va deixar de ser fa temps una promesa per establir-se com una de les principals formes de comunicació al mercat de consum actual. Així, si en un principi els telèfons ens permetien realitzar trucades telefòniques i enviar missatges, a poc a poc s’han anat introduint noves característiques i funcionalitats als dispositius mòbils fins arribar al punt actual, on és possible portar a la butxaca un autèntic ordinador personal.

Les tecnologies de transmissió sense fils GPRS (General packet radio service, servei de ràdio de paquets general) i WAP (Wireless Application Protocol, protocol d’aplicacions sense fil), un protocol estàndard per accedir a informació a través de xarxes sense fil, van proveïr unes primeres funcionalitats de navegació web als primers telèfons mòbils. La poca velocitat d’aquelles xarxes i, sobretot, el fet que l’experiència d’usuari no fos prou bona degut a la falta de pantalles de qualitat als telèfons, van fer que aquestes tecnologies (i els serveis creats per a elles) no es popularitzessin en excés.

La primera PDA

La primera PDA de la història va ser la Psion Organizer desenvolupada l’any 1984. (Psion és una companyia que va desenvolupar programes per al mític ordinador ZX Spectrum pels volts dels anys vuitanta). Tot i això, la primera vegada que es va fer servir l’expressió “PDA” va ser l’any 1992 amb la presentació del’Apple Newton.

Al final dels anys noranta, la majoria dels telèfons encara tenien unes funcionalitats molt limitades, i aquells usuaris que tenien necessitats més enllà del que podia oferir el seu telèfon també carregaven amb un dispositiu tipus PDA (Personal Digital Assistant, assistent digital personal), que oferia funcionalitats avançades, com ara: agenda, pantalles tàctils, expansió amb targetes de memòria, connexió sense fils i una sèrie d’aplicacions pròpies de la plataforma. La primera PDA de la història va ser la Psion Organizer desenvolupada l’any 1984 (figura). Aquestes PDA portaven un sistema operatiu propi, com per exemple Palm OS, BlackBerry OS o Pocket PC. Les darreres versions d’aquests sistemes integraven capacitats de missatgeria i telefonia. Aquests dispositius es podrien anomenar ja smartphones (telèfons intel·ligents).

Figura Psion Organizer, la primera PDA de la història

Un smartphone (telèfon intel·ligent) és un telèfon mòbil de gamma alta construït sobre una plataforma mòbil amb capacitats i connectivitat superiors a les que té un telèfon convencional.

Encara que el mercat de les PDA estava dominat per l’empresa Palm (fabricant tant del maquinari com del sistema operatiu mòbil), Microsoft va treure al mercat Windows Mobile, basat en la plataforma Pocket PC 2000 que, gràcies a la possibilitat de llicenciar-lo per part d’altres empreses, va ser molt popular i l’any 2007 va obtenir un 42% del mercat.

Justament aquest any 2007, Apple va introduir l’iPhone (després de mesos de rumors i especulacions), que revolucionaria el mercat de telefonia mòbil. Moltes de les seves seves característiques s’han convertit en estàndards de facto a la indústria de telefonia mòbil, com ara:

  • Pantalla capacitiva i multitàctil
  • GPS
  • Teclat en pantalla
  • Integració amb alguns serveis de Google, especialment la cerca i Google Maps
  • Connexió de dades permanent mitjançant 3G

I un parell de característiques que no estaven a l’iPhone original però que es van afegir més endavant, com ara:

  • Aplicacions de tercers
  • Una botiga d’aplicacions on trobar totes les aplicacions de forma centralitzada (AppStore)

Posicionament global

GPS (Global Positioning System, sistema de posicionament global) és un sistema de navegació basat en satèl·lits, que proporciona localització i hora en qualsevol tipus d’horatge, en qualsevol lloc de la terra, si es té visió directa de quatre o més satèl·lits GPS.

La resta de la indústria va trigar anys a oferir un producte que pogués competir amb l’iPhone (figura) tant a nivell de software com de hardware. Es va produir durant molt de temps una lluita per aconseguir restar quota de mercat a Apple en el sector dels smartphones.

Figura L’iPhone original

Però el desenvolupament d’Android va començar, de fet, abans que l’iPhone veiés la llum. Google va comprar la companyia Android Inc. el 2005 i la primera distribució d’Android (el sistema operatiu mòbil) es va anunciar el 2007 per l’Open Handset Alliance. Des d’aleshores, la quantitat de fabricants de telèfons que fan servir Android com a sistema operatiu del seu maquinari (telèfons i tauletes tàctils, principalment, encara que existeixen multitud de dispositius que fan servir Android) ha crescut de forma exponencial. El novembre de 2011 existien més de 200 milions de dispositius Android, i Google va anunciar que el desembre de 2011 s’activaven més de 700.000 dispositius Android diaris; aquest índex ja arribava als 2 milions anuals el 2013 (font: www.talkandroid.com).

Qui s'encarrega de crear els estàndards?

L’Open Handset Alliance (que es podria traduir per Aliança d’auriculars oberts) és un consorci de 86 empreses de maquinari, programari i telecomunicacions dedicades a avançar estàndards oberts per a dispositius mòbils.

Una altra fita important en l’evolució dels dispositius mòbils va ser la irrupció de l’iPad, un tablet (tauleta tàctil) d’Apple que va sortir al mercat el 2010 i en molt poc temps va popularitzar l’ús d’aquest tipus de dispositius.

Un tablet és un ordinador portàtil, més gran que un telèfon mòbil o una PDA, integrat dins d’una pantalla tàctil plana i principalment operat mitjançant la seva pantalla tàctil (en lloc d’un teclat físic). Generalment, fa servir un teclat virtual en pantalla o un stylus per introduir text. El primer tablet que va gaudir d’un gran èxit comercial va ser l’iPad d’Apple.

Actualment existeixen diverses solucions de sistemes operatius per a dispositius portàtils. En aquesta llista anomenem les més importants, encara que el mercat està dominat per les dues primeres:

  • Android: desenvolupat per Google i l’Open Handset Alliance. La majoria dels fabricants més importants (Samsung, HTC, Motorola, Sony…) tenen telèfons i tauletes que s’executen sobre Android. Té un 45,86% del mercat (dades de desembre de 2014).
  • iOS: desenvolupat per Apple, està present únicament als productes de la marca Apple (iPhone, iPad i iPod); així i tot, té una presència del 43,15% al mercat, gràcies a la bona salut de vendes del sector de tauletes.
  • BlackBerry OS: desenvolupat per RIM (Research In Motion), i present únicament als seus productes; ha baixat molt la seva quota de mercat, fins a l’1% actual.
  • Windows Phone: desenvolupat per Microsoft i present fonamentalment als nous telèfons que Nokia va presentar a finals de 2011; la seva quota de mercat és molt petita actualment tot i que ha anat creixent gràcies a la seva major presència al món de les tauletes.
  • Firefox OS: desenvolupat per Mozilla, és un sistema operatiu de codi obert que es basa en HTML5. L’impacte d’aquest sistema operatiu ha estat mínim a causa de la poca diversitat d’aplicacions disponibles.

En aquest materials hem decidit fer servir Android (figura) com a eina de desenvolupament per les següents característiques:

  • És un projecte de codi lliure.
  • És gratuït, i les seves eines de desenvolupament també ho són.
  • Actualment és (juntament amb Apple iOS) la plataforma de dispositius mòbils més popular del mercat, amb una previsió de creixement encara més gran (és probable que en el futur la quota de mercat d’Android sigui encara superior a l’actual).
  • El seu desenvolupament es realitza en Java, llenguatge molt popular i de fàcil aprenentatge.
Figura Logo d’Android

Per tot això, pensem que Android és la plataforma ideal per introduir-se en el desenvolupament de la programació en dispositius mòbils i multimèdia.

Característiques d'Android

Android té una llicència de codi lliure i està disponible de forma gratuïta per als fabricants per a la seva adaptació. No existeixen configuracions fixes de maquinari i programari, encara que Android suporta les següents característiques:

  • Missatgeria: suporta SMS (Short Message Service, servei de missatges curts) i MMS (Multimedia Messaging Service, servei de missatgeria multimèdia).
  • Suport de maquinari: acceleròmetres, càmera, brúixola, sensor de proximitat i GPS.
  • Emmagatzematge: fa servir SQLite, una base de dades relacional ultralleugera, per a l’emmagatzematge de dades.
  • Formats: suporta multitud de formats multimèdia (imatges, so, vídeo…).
  • Connectivitat: suporta xarxes GSM/EDGE, HSDPA, LTE, CDMA, UMTS, Bluetooh, Wi-fi i WiMAX.

En aquests moments, Android es fa servir en multitud de dispositius, com ara telèfons intel·ligents, tablets, lectors de llibres electrònics, netbooks, reproductors d’MP3 i MP4, televisors, rellotges…

L’Android OS (sistema operatiu d’Android) està dividit en cinc seccions. De la capa més baixa a la més alta, són les següents:

  • El kernel de Linux: sobre el qual està basat Android. Aquesta capa conté tots els drivers de dispositius (a baix nivell) per als components de maquinari del dispositiu Android.
  • Llibreries (biblioteques de funcions): conté el codi que proporciona les característiques principals de l’Android OS. Per exemple, les biblioteques de funcions de Webkit proporcionen funcionalitats de navegació web, i les d’SQLite d’accés a bases de dades.

ART vs Dalvik

Mentre que Dalvik compila just-in-time (JIT) ART ho fa ahead-of-time (AOT), és a dir, Dalvik compila les aplicacions al moment d’executar-les i ART ho fa en el moment de la instal·lació.

  • Android Runtime: està al mateix nivell que les llibreries i proporciona una sèrie de llibreries fonamentals que permeten als desenvolupadors escriure aplicacions d’Android fent servir Java. El runtime d’Android també inclou la màquina virtual Dalvik, que permet a cada aplicació Android executar-se en el seu propi procés (que és una instància d’aquesta màquina virtual). Les aplicacions Android estan compilades en executables Dalvik. A partir de la versió 5.0 (Lollipop) s’ha canviat la màquina virtual de Dalvik a ART, incrementant el rendiment general de les aplicacions.
  • Framework d’aplicacions: proporciona als desenvolupadors les diferents característiques de l’Android OS per tal que les puguin fer servir en les seves aplicacions.
  • Aplicacions: a la capa més alta, hi trobem les aplicacions que es distribueixen amb el dispositiu Android (com telèfon, contactes, navegador, etc.), així com altres aplicacions que es descarreguen i s’instal·len des de la botiga de Google, Google Play Store. Les aplicacions que escriurem estaran situades en aquesta capa.

Google Play

Un dels factors fonamentals que determina l’èxit d’una plataforma mòbil és la quantitat d’aplicacions que ofereix. Això va quedar demostrat amb l’iPhone d’Apple i el seu ecosistema d’aplicacions. De la mateixa manera, el fet que sigui fàcil per als desenvolupadors publicar les seves aplicacions i fàcil per als usuaris comprar-les determinarà la facilitat amb què creixerà el mercat d’aplicacions.

L’agost del 2008, Google va anunciar l’Android Market, el seu propi mercat d’aplicacions, que va ser rebatejat com a Google Play el març de 2012 (https://play.google.com/store). Els usuaris poden descarregar aplicacions de tercers directament des del seu dispositiu (a través de l’aplicació Play Store, preinstal·lada a la majoria de dispositius Android). Google Play disposa d’aplicacions de pagament, així com d’altres completament gratuïtes o gratuïtes amb micropagaments integrats.

El cicle de vida d’una aplicació d’Android es podria definir de la següent manera:

  1. Descobriment de l’aplicació, tant des de Google Play (el més habitual) com d’una altra forma.
  2. Descàrrega i instal·lació de l’aplicació.
  3. Execució de l’aplicació.
  4. Actualització de l’aplicació si existeixen versions més modernes (opcional).
  5. Desinstal·lació de l’aplicació.

Dispositius mòbils

En primer lloc, hem de determinar què és programació per a dispositius mòbils i, per tant, què considerem com a dispositiu mòbil. En general, considerem que un dispositiu és mòbil si té les següents característiques:

  • Té una mida reduïda i un pes lleuger. Per tant, la mobilitat és una de les seves principals característiques. Idealment, és un dispositiu que es pot portar a la butxaca o a una bossa petita i al que es pot accedir ràpidament.
  • Té una connexió sense fils contínua en forma de connexió WiFi o connexió a Internet permanent fent ús de les xarxes de telefonia.
  • Proveeix una alta capacitat d’interacció a l’usuari mitjançant una pantalla tàctil o una pantalla i un teclat.
  • Té capacitat de processament i memòria interna.

Així, considerem dispositius mòbils els telèfons mòbils, els telèfons intel·ligents (smartphones), les PDA i els tablets. Descartem els ordinadors portàtils com a dispositius mòbils, atès que donats el seu pes i la seva mida són dispositius que no es poden portar a la butxaca.

Actualment existeixen també els dispositius wearables, que tenen menors dimensions que els dispositius mòbils i es sincronitzen amb els smartphones mitjançant la tecnologia bluetooth per afegir funcionalitats al sistema. En aquest sector trobem dispositius com els smartwatch o les polseres intel·ligents.

Google ha creat un sistema operatiu basat en Android per a aquest tipus de dispositius, Android Wear, que va ser presentat el 2014.

Limitacions en la programació de dispositius mòbils

Els dispositius mòbils tenen unes característiques particulars quant a les seves capacitats de processament i memòria. El fet que aquests dispositius siguin principalment mòbils i, per tant, d’unes mides i pes reduïts, determina les seves característiques de maquinari. Principalment, les seves limitacions, comparant-los amb els dispositius de taula, són les següents:

  • La seva capacitat de processament és reduïda.
  • La quantitat de memòria és reduïda (RAM i d’emmagatzematge).
  • Les dimensions del dispositiu són reduïdes, i per tant el maquinari d’interacció amb l’usuari (pantalla i teclat) també ho és.
  • Solen tenir una connexió permanent a Internet, i per tant s’ha de donar especial importància a la seguretat.
  • La connexió a Internet, si és mòbil, té una velocitat limitada i es perd amb freqüència.

Totes aquestes característiques es van millorant a poc a poc, i els nous dispositius cada vegada tenen més capacitat de processament, més memòria, pantalles més grans i millors connexions a Internet. Així i tot, sempre aniran per darrere dels ordinadors de taula, i per tant s’han de tenir en compte les seves característiques quan programem sobre aquests dispositius.

Entorns de desenvolupament

El primer pas per començar a desenvolupar programes per a dispositius mòbils és instal·lar l’Android SDK (Software Development Kit, equip de desenvolupament de programari) i preparar l’entorn de desenvolupament per primera vegada.

Aquests passos poden canviar amb el temps, i estan especificats a la web d’Android (developer.android.com/sdk/installing.html); per tant, es recomana revisar que el procediment segueix sent vàlid.

Es poden desenvolupar aplicacions per a dispositius mòbils amb Android des de qualsevol sistema operatiu (GNU/Linux, MacOS, MS Windows) i amb diversos entorns de desenvolupament; l’oficial i més popular actualment és l’Android Studio tot i que també es poden desenvolupar aplicacions en Eclipse i en Netbeans. Escollirem per als materials desenvolupar amb Ubuntu 14.04 LTS 64 bits (Long Term Support, les versions LTS són suportades durant quatre anys per Ubuntu) i Android Studio.

Es recomana la utilització d’un sistema operatiu de 64 bits, Google ens informa que els arxius binaris de 32 bits desapareixeran en un futur. Si us és impossible fer servir una màquina de 64 bits podeu afegir l’opció -force-32-bit a Run/Edit Configurations a la pestanya de l’emulador o bé fer un export ANDROID_EMULATOR_FORCE_32BIT=true des del terminal; si voleu fer persistent aquest darrer pas, podeu crear un fitxer .profile al vostre directori home i afegir aquí l'export.

PhoneGap és un framework open source per desenvolupar aplicacions multiplataforma amb HTML5, CSS i JavaScript.

Cal fer menció a més, de l’existència de frameworks (entorns de treball) que ens permetran crear aplicacions per Android fent servir altres llenguatges de programació com ara: C#, python i fins i tot amb una combinació d’HTML5 + CSS + JavaScript. Alguns exemples podrien ser: Xamarin, Phonegap, dot42, Kivy, etc.

Android Studio

Android Studio és un IDE (Integrated Development Environment, entorn de desenvolupament integrat) basat en l’IntelliJ IDEA que ha substituït oficialment a l’Eclipse com a eina per desenvolupar aplicacions.

Preparant l'ordinador

En primer lloc, heu de confirmar que el vostre ordinador compleix els requeriments del sistema per desenvolupar en Android. Hem de dir que les exigències sobre les característiques de la màquina són elevades (especialment per a l’execució del simulador). Els requeriments del sistema poden canviar al llarg del temps. Podeu trobar els requeriments actualitzats al web oficial d’Android: developer.android.com/sdk/requirements.html.

Els requeriments mínims han de ser:

Comuns:

Linux:

  • Escriptori GNOME o KDE
  • Llibreria CNU C (glibc) 2.11 o posterior

Windows:

  • Microsoft Windows 8/7/Vista/2003 (32 o 64 bits)
  • Opcional per a tenir acceleració per hardware: processador Intel amb Intel VT-x, Intel EM64T i Execute Disable (XD) bit

Mac OS X:

  • Mac OS X 10.8.5 o superior fins a 10.9
  • Java Runtime Environment (JRE) 6
  • Opcional per a tenir acceleració per hardware: processador Intel amb Intel VT-x, Intel EM64T i Execute Disable (XD) bit

Entorn de desenvolupament suportat, Android Studio:

  • Android Studio 1.0 o superior
  • JDK 7 (Java Development Kit, equip de desenvolupament de Java) com a mínim. Amb el JRE (Java Runtime Environment, entorn d’execució de Java) no és suficient

La forma d’instal·lar l’entorn de desenvolupament també pot canviar amb les noves versions, per tant es recomana fer una ullada a la pàgina oficial d’Android per veure les instruccions d’instal·lació: developer.android.com/sdk/installing.html.

Per instal·lar el JDK a Ubuntu, de nou podeu revisar la darrera informació continguda a la documentació oficial: https://help.ubuntu.com/community/Java

L’objectiu principal del projecte OpenJDK és produir una implementació de codi obert de la plataforma Java Standard Edition.

Per defecte, la màquina de Java d’Oracle ja no està distribuïda amb Ubuntu per problemes de llicències. Les versions actuals d’Ubuntu porten instal·lada la implementació OpenJDK.

Podeu descarregar el JDK des de la pàgina oficial d’Oracle en format .tar.gz o .rpm però per facilitar la instal·lació ho farem des del repositori de webupd8 tal com ens recomanen en la documentació oficial d’Ubuntu.

En cas de no disposar de la comanda add-apt-repository instal·leu python-software-properties: sudo apt-get install python-software-properties

Així, afegim el repositori ppa amb la següent comanda:

  1. sudo add-apt-repository ppa:webupd8team/java

Després actualitzarem la llista de repositoris i farem la instal·lació d’oracle-java8-installer:

  1. sudo apt-get update
  2. sudo apt-get install oracle-java8-installer

Una vegada instal·lat, podrem alternar entre les versions de Java amb la comanda sudo update-alternatives --config java on podrem escollir entre l’OpenJDK i el JDK d’Oracle. Podeu comprovar quina versió de Java teniu instal·lada amb la comanda java -version.

Instal·lant l'Android Studio i l'SDK

Podeu descarregar l’Android Studio des de la següent adreça: http://developer.android.com/sdk/index.html

Obrim un terminal, anem fins al directori de descàrrega i descomprimim el fitxer. Per tal d’executar l’Android Studio hem de canviar el directori a android-studio/bin i allà executar ./studio.sh.

  1. usuari@ubuntu:~/$ cd Descargas
  2. usuari@ubuntu:~/Descargas$ unzip android-studio-ide-*.zip
  3. usuari@ubuntu:~/Descargas$ cd android-studio/bin
  4. usuari@ubuntu:~/Descargas/android-studio/bin$ ./studio.sh
Figura Android Studio la primera vegada que s’executa. Instal·lació ‘Custom’

Seguint la configuració inicial instal·larem l’Android SDK, la darrera API d’Android i un emulador (figura), és a dir, tot allò que necessitem per desenvolupar aplicacions. Si ho volem, també disposem d’una versió stand-alone de l’SDK per descarregar des de http://developer.android.com/sdk/index.html#Other

Una vegada finalitzat l’assistent hauríem de veure la pantalla de la figura, a partir d’aquest moment ja podrem crear el nostre primer projecte.

Figura Pantalla principal de l’Android Studio

Per tal de millorar el rendiment de l’emulador, si el nostre microprocessador és compatible, seria interessant instal·lar l’Intel® Hardware Accelerated Execution Manager seguint les instruccions del següent enllaç: Intel HAXM.

Gestió de l'SDK

L’últim pas en la configuració de l’SDK d’Android és la descàrrega dels components essencials per al nostre entorn de desenvolupament, que farem mitjançant una eina inclosa en el paquet, l’AVD Manager.

L’SDK fa servir una estructura modular que en separa les principals parts, els afegits, les eines, els exemples i la documentació en components instal·lables de forma separada. L’SDK Starter Package (paquet de començament d’SDK) que heu instal·lat inclou únicament la darrera versió de les eines de l’SDK. Podeu descarregar altres components, com les darreres versions de la plataforma d’Android quan es publiquen.

Podeu executar l’Android SDK de diverses maneres:

Figura SDK Manager
  • Des de la pantalla principal de l’Android Studio, seleccioneu Configure/Android SDK Manager.
  • Des de qualsevol projecte, seleccioneu Tools/Android/SDK Manager o feu clic a la icona de la figura.
  • Des de la consola, entreu dins del directori /tools del directori de l’SDK d’Android i executeu ./android.

Veureu un diàleg com el de la figura.

Figura Paquets a instal·lar

Des d’aquí podeu seleccionar els components que voleu instal·lar o actualitzar.

Aquesta és una petita descripció dels components que hi podeu trobar:

  • SDK Tools: conté les eines per comprovar i depurar les aplicacions Android. Aquestes eines estan instal·lades juntament a l’SDK d’Android i reben actualitzacions periòdiques. Es troben a la carpeta /tools dins de la carpeta d’instal·lació de l’SDK.
  • Android SDK Platform-tools (eines de plataforma de l’SDK d’Android): conté eines per desenvolupar i depurar l’aplicació dependents de la plataforma. Suporten les últimes característiques de la plataforma Android i, en general, s’actualitzen únicament quan hi ha una nova plataforma disponible. Es troben a la carpeta /platform-tools dins de la carpeta d’instal·lació de l’SDK.
  • Plataformes Android: hi ha plataformes de l’SDK disponibles per cada versió disponible d’Android. Cada plataforma Android conté una llibreria completa d’Android, imatges del sistema, codi d’exemple i skins de l’emulador (les diferents pells que simulen l’aparença externa dels dispositius, quan se simulen).
  • Samples: conté el codi d’exemple i les aplicacions disponibles per a cada plataforma de desenvolupament d’Android. Si esteu començant a desenvolupar amb Android, assegureu-vos de descarregar els samples (exemples).
  • Documentació: conté una còpia local de la darrera documentació de l’API (Applicacion Programming Interface, interfície de programació d’aplicacions) d’Android.

Els afegits de tercers (Third party Add-ons) proporcionen components que permeten la creació d’un entorn de desenvolupament fent servir una llibreria externa d’Android específica (com, per exemple, la llibreria de Google Maps) o una imatge de sistema d’Android feta a mida (en anglès, customized).

Components recomanats

Google recomana la instal·lació de certs components per començar amb el desenvolupament d’Android.

En un entorn bàsic de desenvolupament hem de tenir, com a mínim:

  • SDK Tools: amb la instal·lació realitzada des de l’assistent ja disposem d’aquest component.
  • SDK Platform-tools: amb la instal·lació realitzada des de l’assistent ja disposem d’aquest component.
  • SDK Platform: la instal·lació bàsica ens haurà descarregat la darrera versió de l’SDK Platform i una imatge del sistema d’un dispositiu. Amb això ja podreu compilar l’aplicació i executar un Android Virtual Device (AVD, dispositiu virtual Android). Per començar descarregueu, a banda de la darrera versió de la plataforma, la versió 2.3.3 (la versió 2.3.3 és compatible amb el 99,3% dels dispositius Android). Podeu descarregar més endavant altres versions per comprovar que el vostre programa és compatible amb aquestes.

Quina versió d'Android cal fer servir?

Quan desenvolupeu per a Android us pot sorgir el dubte de quina versió de la plataforma feu servir. Si feu servir la darrera versió disponible, és possible que el vostre programa estigui disponible únicament per a un percentatge reduït dels dispositius que hi ha al mercat. Per aquest motiu, és interessant en alguns casos fer servir versions anteriors perquè la vostra aplicació sigui compatible amb la major quantitat de dispositius possibles.

A banda d’aquests tres components que acabem d’especificar, la instal·lació recomanada és la següent:

  • Documentation: la documentació dels components és útil perquè us permet treballar offline (sense connexió) i mirar la informació de referència de l’API des del mateix IDE.
  • Samples: els exemples de components proporcionen codi que podeu fer servir per aprendre Android, carregar-lo com a projecte i executar-lo, o, fins i tot, reaprofitar-lo en els nostres projectes. Existeixen samples (exemples) per a cada versió de la plataforma, així doncs caldrà que escolliu els que corresponguin.
  • USB Driver: aquest component únicament és necessari si es desenvolupa des de Windows i tenim un dispositiu Android sobre el qual volem instal·lar l’aplicació per la seva depuració i pel testeig. Per a plataformes GNU/Linux i Mac OSX no cal cap driver específic.

Per a una instal·lació completa es pot instal·lar també:

  • Google API: dóna a la vostra aplicació accés a les llibreries externes de mapes, cosa que farà més senzill mostrar i manipular mapes a la vostra aplicació.
  • Plataformes addicionals de l’SDK: si voleu publicar la vostra aplicació, haureu de descarregar les versions de la plataforma Android on voleu que la vostra aplicació s’executi. La recomanació és compilar l’aplicació sobre la versió més baixa d’Android que voleu que estigui suportada (per assegurar la compatibilitat), però comprovar-la (fer els tests) sobre la versió més alta on voleu que s’executi. Podeu comprovar les aplicacions en diferents plataformes executant-les en un AVD a l’emulador d’Android.

Una vegada instal·lada com a mínim la configuració bàsica dels components de l’SDK, podeu començar a desenvolupar aplicacions per a Android.

PATH del sistema

Podeu afegir opcionalment l’adreça de les carpetes /tools i /platform-tools dins de la carpeta de l’SDK al PATH del sistema. D’aquesta manera, tindreu un accés més fàcil a les eines. Per afegir les carpetes al PATH heu de consultar la documentació del vostre sistema operatiu. En sistemes basats en UNIX (com GNU/Linux i Mac OSX) heu de modificar el contingut del fitxer .bashrc que es troba a la vostra carpeta d’usuari i afegir les carpetes a la variable PATH; per exemple:

PATH=${PATH}:/home/usuari/android-sdk/tools:/home/usuari/android-sdk/platform-tools
Anar a la pàgina anterior:
Referències
Anar a la pàgina següent:
Activitats