Los pasos "nuevos" y simplificados son estos:
- Descargarse el paquete (398 MB en mi caso) de aquí: http://developer.and.../sdk/index.html
- Descomprimirlo donde queramos.
- Entrar en eclipse y ejecutar eclipse.exe (dejar un acceso directo a mano)
- Creo que si no tienes instalado Java JDK te permite instalarloo ahora, en mi caso ya lo tenía instalado, pero la web dice que va automático.
- Te pregunta donde quieres el "workspace", es decir, tu carpeta para proyectos.
Ya tienes todo listo! Una ventana de bienvenida te permite ver tutoriales si quieres.
La verdad es que esto deja este tutorial como una reliquia del pasado, ahora es mucho más sencillo todo!
Mi duda es que supongo que detectó mi S.O. y me propuso descargar el paquete para windows 64bits... por lo que he leído el sistema es igual para Mac o Linux, o por lo menos igual de sencillo.
Hoy mismo (julio 2011) he conseguido ejecutar mi primera App de Android, un simple "Hello world" como debe ser, y os copio aquí las notas que he ido tomando en el proceso, por si alguien quiere lanzarse al mundo de la programación Android y no sabe por donde empezar.
Actualización: Tras unos meses sin darle uso, voy a reinstalar todo y así actualizo todo a Sept. 2012. Antes de nada he desinstalado todo, eclipse, java y SDK.
Otra cosa, ante cualquier duda, la fuente oficial de información es está: http://developer.and...ling/index.html
Linux o Windows:
Lo primero es decidir en que arquitectura vamos a programar, yo opté por Windows porque es lo que utilizo, pero se puede usar Linux y Mac tambien. Mi compañero de trabajo ha utilizado Ubuntu, así que os pongo aquí una serie de diferencias menores encontradas:
-No tenéis el programa independiente para descargar paquetes de android sdk y crear maquinas virtuales, pero si que aparece como botón en la barra de herramientas de eclipse, y en el menú "Windows" como en la versión windows.
-No tenéis el driver usb que permite ejecutar -y hacer debug, claro- la aplicación en un teléfono real, pero se puede crear el device USB "a mano"... bueno, es Linux, el sistema donde los hombres se solían hacen sus propios drivers! Tenéis las instrucciones oficiales aquí: http://developer.and...ing/device.html.
Nota: El driver de windows solo vale para algunos terminales como el nexus one, nexus s y similares, para otros aparatos toca buscar en Internet, y no existen para todos, ojo! (más info en el punto 7 más abajo)
-Los teléfonos virtuales para probar las aplicaciones en su Linux van más rápidos que en mi windows, y eso que mi máquina es algo superior a la suya.
-Los pasos para instalar el kit son algo diferentes en Linux, él ha seguido este tutorial en su Ubuntu con exito: http://onthefencedev...ment.com/?p=455.
-Si usas un linux 64bits, como el SDK es de 32, tienes que instalarte antes esto:
[asm]apt-get install ia32-libs[/asm]
Windows: 32 o 64 bits:
Si optáis por windows y tenéis una versión de 64 bits, tendréis que decidir si vais a usar las herramientas en versión 32 o 64 bits, ya que el Java Developer Kit, el propio Eclipse y el Android SDK están disponibles en las dos versiones, y tienen que coincidir internamente todo.
Yo opté por la de 32 bits porque la diferencia en velocidad dudo que se note y me ahorro problemas, de todas formas parece no existir ningún problema eligiendo la de 64 bits, el mejor tutorial en español que conozco, el de sgoliver.net, te propone usar la versión de 64 bits. En cualquier caso no me merece la pena probar el 64 bits y me quedo con mis 32 bits.
Elegir una carpeta para instalar todo:
Yo me he creado "C:\AndroidSDK" y dentro voy a poner todo (Eclipse + SDK), podeis elegir otra carpeta o usar dos, pero evitar usar espacios en los nombres de carpeta, hay partes del SDK que dán error si hay espacios (o lo daban cuando lo probé por última vez).
Instalación de todo lo necesario:
Desde hace poco (11-2012) en la web de android para desarrolladores tienen un paquete "completo" (de 398 MB nada más) para programar android: Incluye Eclipse, AndroidSDK, Android ADT plugin, etc. casi todo lo que aquí se comenta como descargas individuales (excepto Java JDK, peor si no lo encuentra te pregunta así que no problems).
De todas formas dejo aquí todo lo anterior por si alguien qiere hacerlo "por partes". Notad que en el link de descarga del Android SDK realmente os lleva ahora a la descarga del "mega paquete con todo", pero seguís teniendo la descarga de "solo el SDK" debajo, en el último párrafo donde pone "USE AN EXISTING IDE".
1) Eclipse (221 MB): Eclipse es el IDE que vamos a utilizar para programar, es un IDE genérico que vale para mil lenguajes, así que no es tan integrado como el de Delphi, pero hace el mismo papel.
- En la web de eclipse tienes varios paquetes. Para el SDK de Android la propia google recomienda "Eclipse Classic" (la versión más usada es la "EE" pero lo que llev a de más no nos servirá para Android, son web services y similares).
- Tienes versiones 32 (x86) y 64 bits, así que si decidiste probar con los 64 bits, adelante.
- Es un zip con una carpeta "eclipse" dentro, puedes descomprimirlo donde quieras, yo la copie dentro de "C:\AndroidSDK" con lo que está en "C:\AndroidSDK\eclipse".
- Una vez descomprimido, abre el eclipse.exe (mi win7 me advirtió de que el editor era desconocido, ya sabéis, desactivar que te pregunte la siguiente vez) y te preguntara donde quieres almacenar el workspace, es decir, la carpeta para tus proyectos. Te propone ponerlo en tu carpeta de usuario, pero yo use "C:\AndroidSDK\workspace" y marqué debajo que lo usase por defecto y no volviese a preguntarme.
- Una vez instalado, interesa dejarse un icono a exclipse.exe en el escritorio o algún lugar accesible, se va a usar mucho!
2) JAVA SE JDK (90 MB): Es el kit de desarrollo en java (no confundir con la máquina virtual para usuarios finales), en sept. 2012 van por la V1.7 (Java 7), yo desinstale antes todo lo que empezaba por "java" desde el panel de control para no dejar versiones olvidadas.
- Lo tienes en la web de oracle. Hay varias posibles descargas, elige la versión standard, la "Java platform (JDK)".
- Elige el de windows 32bits (windows x86) o el de 64bits (windows x64) si asi lo decidiste antes.
- La carpeta será la estandard de windows para nuevas aplicaciones, yo no cambie nada y no tuve problemas.
Nota: Eclipse por defecto supone que usas java 1.5, pero ya van por la 1.7, y algunas librerías necesitan al menos la V1.6 (AndEngine en mi caso). Eso hace que al importar esas librerías veáis muchos errores en las líneas del tipo "@Override". Para evitarlo, en eclipse ir a "Windows, Preferences" (o "Proyect, Preferencies" si lo necesitáis ajustar solo para un proyecto concreto), ir a "Java, Compiler" y poner "Compiler compliance level" de 1.5 a 1.6 (más info aquí)
3) Android Starter Package SDK (398 MB): Es el paquete "inicial" para programar en Android, trae herramientas para descargarse el resto de paquetes, muy al estilo repositorio de linux.
- Lo teneis en la web del Android SDK.
- Si no tienes Java SE JDK no te va a dejar instalar este kit, se para y espera a que lo instales con instrucciones (es lo que me ocurrio a mi).
- Se instala por defecto en "Archivos de programa" (como el Java JDK). No lo cambié por si acaso la primera vez, pero SI que se debe cambiar porque el path no puede contener espacios (ver nota en el paso 6). Yo use -con éxito- "C:\AndroidSDK\AndroidSDK", valga la redundancia.
4) Resto del Android SDK Ahora necesitamos bajarnos el resto de paquetes del SDK.
- Cuando termina el paso anterior te propone abrir el "SDK manager" para cargar los posibles paquetes disponibles en el SDK, márcalo y continua.
- Lo primero que hace el "SDK manager" es actualizar la ENORME lista de paquetes disponibles (tarda poco).
- Luego te muestra los posibles paquetes a instalar: los obsoletos te los esconde (android 3.0 por ejemplo) y los "normales" te los marca (platform tools, el SDK de la última versión de android y las herramientas genéricas como el adb y el driver USB), así que con aceptar es suficiente de momento. Luego podrás añadir más o actualizarlos volviendo a esta pantalla desde eclipse en menú "Windows".
- Aparte de lo que se marca por defecto, antes o después tendrás que descargarte el SDK para las versiones mínimas y target de tus aplicaciones: Si vas a compilar para android 4.1 pero darás soporte para android 2.3.3 en adelante, necesitas ambos paquetes instalados, pero evita marcar todo en estas versiones, traen paquetes para moviles específicos tipo motorola que mejor no instalar si no son necesarios (algunos piden un login a sus servidores y cosas raras).
- Al aceptar te muestra la lista de paquetes elegidos, en algunos tienes que aceptar unas condiciones, así que marcar "Accept all" y acepta, empezará a descargar muchos ficheros, vete a tomar un café, serán unos 30 minutos o más (según cuantos paquetes marcaste, claro).
- Cuando termina, en inicio, programas, tienes uno llamado "SDK manager" con el icono de android que te sirve para actualizar o añadir paquetes, pero también sirve para otra cosa: Instalar "virtual devices", es decir, emuladores de diferentes aparatos donde luego probaremos nuestras aplicaciones. Lo tenéis mas sencillo desde eclipse bajo el menú "Windows".
Nota: No, no puedes pasar al punto siguiente sin terminar la descarga, la carpeta workspace contiene información sobre los paquetes que instalas, así que eclipse no puede teenr acceso exclusivo a la carpeta y no te dejará pasar de aquí... y si te dejará, yo no lo haría!
5) Android Development Tool (ADT) Para que eclipse y android SDK trabajen juntos, falta instalar "el pegamento", un plugin de eclipse que internamente llama a los comandos .exe del android SDK sin que lo notemos (si eres un tipo duro, puedes programar sin eclipse llamando a estos comandos por tu cuenta... pero no es muy recomendable).
Lo tienes explicado en la web oficial http://developer.android.com, pero los pasos son simples:
- Instalar: En eclipse, menú "Help, Install new software", botón "Add" y le pones como nombre "Android ADT plugin" (no es importante el nombre exacto) con la direccion "https://dl-ssl.googl...droid/eclipse/" (si con "https:" no te funciona, quítale la "s" y reintenta), pulsas "OK" (aparece "Pending" por unos segundos), marcas "Development Tools" (también me apareció otro para el NDK por si pretendes programar en C nativo para android) y aceptas todo hasta el final. A mitad saldrá un aviso de que vas a instalar algo sin firma autentificada y esas cosas, aceptas y listo. Cuando termina, eclipse se reinicia.
- Configurar: Al reiniciar eclipse debería salirte un "Wellcome to android development" desde donde puedes pinchar en "Use existing SDK", pero a mi no me salió nada (quizás por ser la segunda instalación), asi que si no te aparece, ve al menú "Window > Preferences", eliges "Android". En cualquier caso, debes localizar donde instalaste el Android SDK del punto 3 (en mi caso es "C:\AndroidSDK\AndroidSDK"). Pulsas "Apply" (aparecen todos los componentes instalados en el paso 4) y finalmente "OK".
IMPORTANTE: No pueden haber espacios en blanco, si no cambiaste el path al instalar el SDK, lo tendras en uno de estos tres posibles sitios: "Program Files" (cambiarlo por Progra~1), "Program Files (x86)" cambiarlo por "Progra~2" y "Archivos de programa" cambiarlo por "Archiv~1". Si no lo haces, la maquina virtual falla con un mensaje misterioso de "comando Files desconocido".
6) Crear una maquina virtual: Opcional. Para probar las aplicaciones necesitas un android físico o virtual. Aquí puedes crear todos los virtuales que quieras, los físicos, en la tienda!
Si ahora entras a eclipse (si aun ves la ventana de bienvenida, ciérrala), veras arriba dos botones de Android, uno para volver al instalador de paquetes del punto 4 y otro para ver los "Android Virtual Devices" o AVDs. Pulsa este último y si todo quedo bien configurado te aparecerá una ventana "Android SDK and AVD manager" (el .exe lo tienes en la carpeta donde instalaste el SDK por si prefieres abrirlo así).
Pulsas "New", eliges un nombre como "Nesus_S_V4.1" (no admite espacios), versión de android (level 11 = android 2.3.3 en mi caso), tipo de CPU (ARM es lo normal), tamaño de la tarjeta SD (10 MiB en mi caso), memoria RAM (propone 512, lo subí a 1024) activas "Snapshots" (así la segunda vez que entres se cargara muchísimo mas rápido que la primera, que es muy lenta), y el resto lo deje sin modificar.
Puede ser interesante crearse otro con pantalla grande para probar en tablets.
NOTA: Pulsa Start para comprobar que funciona, debería aparecer una ventana inicial y luego otra con un android arrancando, inicialmente tarda un par de minutos hasta que ves el teléfono virtual en pantalla, pero la segunda vez tarda algo menos (en la primera ventana marcas "Use snapshot"). Si en la primera ventana sale un error, leete la nota del punto anterior: dejaste espacios en el path al instalar el SDK.
Si no creamos ninguna máquina virtual, o si la que creamos no es apta para un proyecto (un proyecto para V2.3.3 no puede probarse en un virtual device de la versión 1.6, por ejemplo), al intentar ejecutar nuestro proyecto nos lo avisará y podremos crear una máquina sobre la marcha, así que realmente este paso es opcional y se puede dejar para el último minuto.
7) Instalar el driver usb: Si se quiere depurar en un dispositivo "real", se necesita un driver.
-Es algo largo de explicar y hay variantes, así que mejor leerlo vosotros mismos en la web de google o bien en este post al respecto.
Hello World:
Ya esta todo listo, asi que me puse con el "hello world". En la web oficial del Android SDK teneis el tutorial que seguí, es muy sencillo, pero te da una idea de como va la cosa, eso si, tras seguirlo, tendréis que "sumergiros" en otros tutoriales más avanzados (os pongo algunos a continuacion), porque este ·hello world· no explica nada sobre como se programa en Android, solo es seguirlo paso a paso a ver si todo funciona como debe.
Esta es la guía paso a paso: Create a new proyect
Solo un par de notas sobre este tutorial:
Por un lado, cuando te dice que entres a editar el fichero "HelloAndroid.java" del programa en si, el nombre de fichero que ponia el tutorial no era exactamente ("HelloWordActivity.java" en mi caso) pero bueno, solo habia un fichero y no era posible confundirse.
Además, cuando añadais esas 3 lineas al código, vereis dos cosas raras, al menos para mi que no soy de java:
- Los comentarios si empiezan con /** significa que han de incluir se en la documentacion automatica del código que genera java. Los de delphi tambien valen, tanto /* com */ como //Comentario.
- Vereis la palabra "TextView" subrayada en rojo: es porque os falta un "import" ("uses" en idioma delphi) en el código: con botón derecho sobre esa palabra aparece un menú, la primera opción que teneis es incluir el fichero que falta automáticamente, en este caso se os añade la línea "import android.widget.TextView;".
En delphi no tenemos estas lindezas!
Tutoriales muy interesantes para inciarse:
1) Es el más completo, y está en español: www.sgoliver.net/blog/?p=1313
2) Esta es la web oficial del desarrollador de Android: http://developer.and...uide/index.html
3) Del estilo del 1, pero en ingles y menos estructurado: www.vogella.de/articles/Android/article.html
4) Desde los comentarios nos apuntan este otro en español y con my buena pinta: http://www.maestrosd...el-hello-world/
5) Otro más en ingles: http://training.orei...om/androidapps/
Y bueno, si se lanzan y tiene alguna duda, o si se instala todo como la seda siguiendo estos pasos, vuelvan a este post y comenten sus experiencias.