Professional Documents
Culture Documents
Ficheros necesarios
Necesitaremos los siguientes ficheros (slo listo los correspondientes a linux, al final del artculo se
incluyen las url completas para todos los sistemas operativos soportados):
1. sdk (incluye el sdk manager, emulador, etc)
android-sdk_r24-linux.tgz
2. tools
tools_r24.0.2-linux.zip
3. platform-tools (incluye adb, fastboot, etc)
platform-tools_r21-linux.zip
4. build-tools
build-tools_r21.1.2-linux.zip
5. API correspondiente a cada versin
android-2.2_r03-linux.zip
android-2.3.1_r02-linux.zip
android-2.3.3_r02-linux.zip
android-3.0_r02-linux.zip
android-19_r04.zip
android-21_r02.zip
6. Imgenes del emulador correspondientes a cada versin y tipo de dispositivo
sysimg_x86-19_r02.zip
sysimg_x86-21_r01.zip
7. Extras: Android support repository
android_m2repository_r11.zip
8. Extras: Google repository
google_m2repository_r15.zip
9. Documentacin (incluye los manuales de referencia, tutoriales, guas de diseo, etc)
docs-21_r01.zip
10. Android Studio v1.0.2
android-studio-ide-135.1653844-linux.zip
Antes de listar los pasos de instalacin quiero hacer algunas precisiones:
El sdk incluye los ficheros que vienen en tools, sin embargo dado que al momento de escribir el
Existe un build-tools para cada una de las versiones del API, dado que es buena prctica definir
como API target de la aplicacin a desarrollar la versin de android ms actualizada disponible
solo incluyo aqu el build-tools correspondiente a la 21
Aunque se podra incluir los ficheros de API correspondientes a todas las versiones, teniendo en
cuenta el soporte disponible para versiones anteriores de las nuevas funcionalidades (actionbar,
fragment, etc) slo resulta prctico tener en cuenta las API a partir de la versin 2.2. En mi caso
particular dado que tengo un dispositivo con android 4.0.2 (API 14) solo instalo las API 8, 9, 10
y 11 para probar las funcionalidades en versiones anteriores y la 19 (4.4, KitKat) y 21 (5,
Lollipop) que introdujeron cambios significativos.
Los ficheros de la API del 8-11 incluyen las imgenes requeridas por el emulador para esas
versiones, a partir de la API 14 esas imgenes estn disponibles en archivos separados y en
dependencia de la disponibilidad las hay para distintas arquitecturas (arm, x86, mips) y tipo de
dispositivo (tv, wear, phone/tablet). Aconsejo, siempre que se pueda, usar las imgenes para x86
pues permiten usar la aceleracin por hardware (va KVM), si tenemos en cuenta que de por s
el emulador es lento cualquier extra viene bien.
Aunque los menciono en el listado de urls, no incluyo en este artculo la instalacin de los
paquetes correspondientes a las API de google y el soporte para Google Play.
unzip ~/android_packages/platform-tools_r21-linux.zip
Instalamos los ficheros de API
for x in android-2.2_r03-linux.zip android-2.2_r03-linux.zip android-2.3.3_r02-linux.zip android3.0_r02-linux.zip android-19_r04.zip android-21_r02.zip;
do unzip -d platforms/ "~/android_packages/$x";
done
Instalamos las imgenes para las versiones 19 y 21
mkdir -p system-images/android-{19,21}/default
unzip -d system-images/android-19/default/ ~/android_packages/sysimg_x86-19_r02.zip
unzip -d system-images/android-19/default/ ~/android_packages/sysimg_x86-21_r01.zip
Instalamos el build-tools asociado a la versin 21
mkdir build-tools
unzip -d build-tools ~/android_packages/build-tools_r21.1.2-linux.zip
Instalamos los extras
mkdir -p extras/{android,google}
unzip -d extras/android/ ~/android_packages/android_m2repository_r11.zip
unzip -d extras/google/ ~/android_packages/google_m2repository_r15.zip
Por ltimo instalamos la documentacin
unzip ~/android_packages/docs-21_r01.zip
Si ejecutamos ahora el comando ./tools/android se mostrar el sdk manager, lo que nos permite
confirmar que todos los paquetes fueron instalados correctamente
Teniendo en cuenta que los comandos adb, android y otros sern ejecutados con frecuencia,
recomiendo adicionar los directorios /usr/local/apps/android-sdk-linux/tools y /usr/local/apps/androidsdk-linux/platform-tools a la variable de entorno PATH.
facilitar el acceso
ln -s /usr/local/apps/android-studio/bin/studio.sh /usr/local/bin/android-studio
Iniciamos el ide, el cual nos preguntar si deseamos importar la configuracin de alguna versin
anterior, en nuestro caso dado que es la primera vez le decimos que no, el programa proceder a
mostrar el splash y posteriormente la pantalla del asistente de configuracin inicial
Dado que el asistente tratar de descargar ficheros adicionales debemos cancelarlo para pasar
directamente al programa, al preguntar le especificamos que no deseamos que se ejecute nuevamente el
asistente
Para poder crear un proyecto nuevo debemos especificar la ubicacin del sdk de android, para ello
seleccionamos Configure -> Project Defaults -> Project Structure y especificamos los valores
correspondientes
Especificamos la versin mnima del SDK en la cual funcionar nuestra aplicacin, en el caso de Cuba
an quedan varios dispositivos con Froyo (API 8, 2.2) por lo que a menos que necesitemos de
funcionalidades no soportadas para esa versin recomiendo seleccionarla
Elegimos el tipo de proyecto a generar y especificamos los datos correspondientes, en dependencia del
tipo de proyecto seleccionado el IDE mostrar el editor visual o no
Creando un emulador
Si bien es cierto que siempre debemos probar nuestra aplicacin usando un dispositivo fsico, tarde o
temprano necesitaremos hacer uso de un emulador, ya sea para probar versiones de android o
especificaciones de tamao de pantalla para las cuales no tenemos dispositivo a la mano, o para realizar
una serie de pruebas que podran tener asociado algn costo monetario (enviar/recibir sms/email,
acceder a la red, etc).
Podemos crear un emulador desde la consola a travs del comando android avd o directamente desde
Android Studio. Los pasos a seguir para la segunda opcin son los siguientes:
Ejecutamos el android virtual device (AVD) manager desde Android Studio
Seleccionamos un perfil predefinido que se ajuste a nuestros requerimientos o creamos uno nuevo. En
este ejemplo seleccionaremos un perfil basado en las especificaciones del Nexus One
Especificamos la imagen de emulador a usar (slo se muestran las que estn instaladas)
Verificamos las opciones seleccionadas, recomiendo habilitar la opcin de guardar un snapshot para
acelerar el inicio del emulador cuando lo ejecutamos en otras ocasiones
Esperamos pacientemente (el tiempo de espera est dado por las capacidades de cpu y ram con que
cuente su computadora) hasta que el emulador cargue definitivamente y podamos interactuar con la
aplicacin que estamos probando.
Finalizando
En prximos artculos introduciremos un ejemplo de aplicacin que nos permita irnos adentrando paso
a paso en las particularidades propias del desarrollo nativo para esta plataforma, espero que esta gua
les permita mientras tanto comenzar sus primeros pasos.
Android SDK
http://dl.google.com/android/installer_r24.0.2-windows.exe
http://dl.google.com/android/android-sdk_r24.0.2-windows.zip
http://dl.google.com/android/android-sdk_r24.0.2-macosx.zip
http://dl.google.com/android/android-sdk_r24.0.2-linux.tgz
Android Studio
https://dl.google.com/dl/android/studio/install/1.0.1/android-studio-bundle-135.1641136.exe
https://dl.google.com/dl/android/studio/install/1.0.1/android-studio-ide-135.1641136.exe
https://dl.google.com/dl/android/studio/ide-zips/1.0.1/android-studio-ide-135.1641136-windows.zip
https://dl.google.com/dl/android/studio/install/1.0.1/android-studio-ide-1641136.dmg
https://dl.google.com/dl/android/studio/ide-zips/1.0.1/android-studio-ide-135.1641136-linux.zip
Android Packages
https://dl-ssl.google.com/android/repository/android-1.1_r1-windows.zip
https://dl-ssl.google.com/android/repository/android-1.1_r1-macosx.zip
https://dl-ssl.google.com/android/repository/android-1.1_r1-linux.zip
https://dl-ssl.google.com/android/repository/android-1.5_r04-windows.zip
https://dl-ssl.google.com/android/repository/android-1.5_r04-macosx.zip
https://dl-ssl.google.com/android/repository/android-1.5_r04-linux.zip
https://dl-ssl.google.com/android/repository/android-1.6_r03-linux.zip
https://dl-ssl.google.com/android/repository/android-1.6_r03-macosx.zip
https://dl-ssl.google.com/android/repository/android-1.6_r03-windows.zip
https://dl-ssl.google.com/android/repository/android-2.0_r01-linux.zip
https://dl-ssl.google.com/android/repository/android-2.0_r01-macosx.zip
https://dl-ssl.google.com/android/repository/android-2.0_r01-windows.zip
https://dl-ssl.google.com/android/repository/android-2.0.1_r01-linux.zip
https://dl-ssl.google.com/android/repository/android-2.0.1_r01-macosx.zip
https://dl-ssl.google.com/android/repository/android-2.0.1_r01-windows.zip
https://dl-ssl.google.com/android/repository/android-2.1_r03-linux.zip
https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip
https://dl-ssl.google.com/android/repository/android-2.3.1_r02-linux.zip
https://dl-ssl.google.com/android/repository/android-2.3.3_r02-linux.zip
https://dl-ssl.google.com/android/repository/android-3.0_r02-linux.zip
https://dl-ssl.google.com/android/repository/android-3.1_r03-linux.zip
https://dl-ssl.google.com/android/repository/android-3.2_r01-linux.zip
http://dl-ssl.google.com/android/repository/android-14_r04.zip
http://dl-ssl.google.com/android/repository/android-15_r05.zip
http://dl-ssl.google.com/android/repository/android-16_r05.zip
http://dl-ssl.google.com/android/repository/android-17_r03.zip
http://dl-ssl.google.com/android/repository/android-18_r03.zip
http://dl-ssl.google.com/android/repository/android-19_r04.zip
http://dl-ssl.google.com/android/repository/android-20_r02.zip
http://dl-ssl.google.com/android/repository/android-21_r02.zip
https://dl-ssl.google.com/android/repository/samples-2.1_r01-linux.zip
https://dl-ssl.google.com/android/repository/samples-2.2_r01-linux.zip
https://dl-ssl.google.com/android/repository/samples-2.3_r01-linux.zip
https://dl-ssl.google.com/android/repository/samples-2.3.3_r01-linux.zip
https://dl-ssl.google.com/android/repository/samples-3.0_r01-linux.zip
https://dl-ssl.google.com/android/repository/samples-3.1_r01-linux.zip
https://dl-ssl.google.com/android/repository/samples-3.2_r01-linux.zip
https://dl-ssl.google.com/android/repository/samples-14_r02.zip
https://dl-ssl.google.com/android/repository/samples-15_r02.zip
https://dl-ssl.google.com/android/repository/samples-16_r01.zip
https://dl-ssl.google.com/android/repository/samples-17_r01.zip
https://dl-ssl.google.com/android/repository/samples-18_r01.zip
http://dl-ssl.google.com/android/repository/samples-19_r06.zip
http://dl-ssl.google.com/android/repository/samples-20_r03.zip
http://dl-ssl.google.com/android/repository/samples-21_r04.zip
http://dl-ssl.google.com/android/repository/platform-tools_r21-windows.zip
http://dl-ssl.google.com/android/repository/platform-tools_r21-linux.zip
http://dl-ssl.google.com/android/repository/platform-tools_r21-macosx.zip
https://dl-ssl.google.com/android/repository/build-tools_r17-windows.zip
https://dl-ssl.google.com/android/repository/build-tools_r17-linux.zip
https://dl-ssl.google.com/android/repository/build-tools_r17-macosx.zip
https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-windows.zip
https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-linux.zip
https://dl-ssl.google.com/android/repository/build-tools_r18.0.1-macosx.zip
https://dl-ssl.google.com/android/repository/build-tools_r18.1-windows.zip
https://dl-ssl.google.com/android/repository/build-tools_r18.1-linux.zip
https://dl-ssl.google.com/android/repository/build-tools_r18.1-macosx.zip
https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-windows.zip
https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-linux.zip
https://dl-ssl.google.com/android/repository/build-tools_r18.1.1-macosx.zip
https://dl-ssl.google.com/android/repository/build-tools_r19-windows.zip
https://dl-ssl.google.com/android/repository/build-tools_r19-linux.zip
https://dl-ssl.google.com/android/repository/build-tools_r19-macosx.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-windows.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-linux.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.0.1-macosx.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-windows.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-linux.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.0.2-macosx.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-windows.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-linux.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.0.3-macosx.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.1-windows.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.1-linux.zip
https://dl-ssl.google.com/android/repository/build-tools_r19.1-macosx.zip
http://dl-ssl.google.com/android/repository/build-tools_r20-windows.zip
http://dl-ssl.google.com/android/repository/build-tools_r20-linux.zip
http://dl-ssl.google.com/android/repository/build-tools_r20-macosx.zip
http://dl-ssl.google.com/android/repository/build-tools_r21-windows.zip
http://dl-ssl.google.com/android/repository/build-tools_r21-linux.zip
http://dl-ssl.google.com/android/repository/build-tools_r21-macosx.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.0.1-windows.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.0.1-linux.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.0.1-macosx.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.0.2-windows.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.0.2-linux.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.0.2-macosx.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.1-windows.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.1-linux.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.1-macosx.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.1.1-windows.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.1.1-linux.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.1.1-macosx.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.1.2-windows.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.1.2-linux.zip
http://dl-ssl.google.com/android/repository/build-tools_r21.1.2-macosx.zip
http://dl-ssl.google.com/android/repository/tools_r24.0.2-windows.zip
http://dl-ssl.google.com/android/repository/tools_r24.0.2-linux.zip
http://dl-ssl.google.com/android/repository/tools_r24.0.2-macosx.zip
http://dl-ssl.google.com/android/repository/docs-21_r01.zip
https://dl-ssl.google.com/android/repository/sources-14_r01.zip
https://dl-ssl.google.com/android/repository/sources-15_r02.zip
https://dl-ssl.google.com/android/repository/sources-16_r02.zip
https://dl-ssl.google.com/android/repository/sources-17_r01.zip
https://dl-ssl.google.com/android/repository/sources-18_r01.zip
https://dl-ssl.google.com/android/repository/sources-19_r02.zip
http://dl-ssl.google.com/android/repository/sources-20_r01.zip
http://dl-ssl.google.com/android/repository/sources-21_r01.zip
http://dl-ssl.google.com/android/repository/google_apis-3-r03.zip
http://dl-ssl.google.com/android/repository/google_apis-4_r02.zip
http://dl-ssl.google.com/android/repository/google_apis-5_r01.zip
http://dl-ssl.google.com/android/repository/google_apis-6_r01.zip
http://dl-ssl.google.com/android/repository/google_apis-7_r01.zip
http://dl-ssl.google.com/android/repository/google_apis-8_r02.zip
http://dl-ssl.google.com/android/repository/google_apis-9_r02.zip
http://dl-ssl.google.com/android/repository/google_apis-10_r02.zip
http://dl-ssl.google.com/android/repository/google_apis-11_r01.zip
http://dl-ssl.google.com/android/repository/google_apis-12_r01.zip
http://dl-ssl.google.com/android/repository/google_apis-13_r01.zip
http://dl-ssl.google.com/android/repository/google_apis-14_r02.zip
http://dl-ssl.google.com/android/repository/google_apis-15_r02.zip
http://dl-ssl.google.com/android/repository/google_apis-16_r03.zip
http://dl-ssl.google.com/android/repository/google_apis-17_r03.zip
http://dl-ssl.google.com/android/repository/google_apis-18_r03.zip
http://dl-ssl.google.com/android/repository/google_apis-19_r10.zip
http://dl-ssl.google.com/android/repository/google_apis-21_r01.zip
http://dl-ssl.google.com/android/repository/google_tv-12_r02.zip
http://dl-ssl.google.com/android/repository/google_tv-13_r01.zip
http://dl-ssl.google.com/android/repository/support_r21.0.3.zip
http://dl-ssl.google.com/android/repository/android_m2repository_r11.zip
http://dl-ssl.google.com/android/repository/google_m2repository_r15.zip
http://dl-ssl.google.com/android/repository/market_licensing-r02.zip
http://dl-ssl.google.com/android/repository/market_apk_expansion-r03.zip
http://dl-ssl.google.com/android/repository/google_play_services_3265130_r12.zip
http://dl-ssl.google.com/android/repository/google_play_services_6587000_r22.zip
http://dl-ssl.google.com/android/repository/usb_driver_r11-windows.zip
http://dl-ssl.google.com/android/repository/play_billing_r05.zip
https://dl-ssl.google.com/googleadmobadssdk/googleadmobadssdkandroid-6.4.1.zip
https://dl.google.com/gaformobileapps/GoogleAnalyticsAndroid_2.0beta5.zip
http://dl-ssl.google.com/android/repository/webdriver_r02.zip
http://dl-ssl.google.com/android/repository/gcm_r03.zip
http://dl-ssl.google.com/android/repository/simulator_r01.zip
http://dl-ssl.google.com/android/repository/support_r19.1.zip
https://dl.google.com/glass/xe22/google-gdk.zip
http://dl-ssl.google.com/android/repository/extras/intel/haxm-windows_r05.2.zip
http://dl-ssl.google.com/android/repository/extras/intel/haxm-macosx_r05.2.zip
http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-14_r02.zip
http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-15_r02.zip
http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-16_r03.zip
http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-17_r02.zip
http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-18_r02.zip
http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_armv7a-19_r02.zip
http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_arm-21_r01.zip
https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-10_r02.zip
https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-15_r01.zip
https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-16_r01.zip
https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r01.zip
https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-18_r01.zip
http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-19_r02.zip
http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-21_r01.zip
http://dl-ssl.google.com/android/repository/sys-img/android/sysimg_