PDA

Ver la Versión Completa : [ TUTORIAL ] Como preparar tu ordenador para programar con Adroid


Metalaria
23/10/12, 15:36:40
Paso 1. Descarga e instalación de Eclipse.
Si aún no tienes instalado Eclipse, puedes descargar la última versión desde este enlace. Recomiendo descargar por ejemplo la versión “Eclipse
IDE for Java Developers”. La instalación consiste simplemente en descomprimir el ZIP en la ubicación deseada.
http://www.eclipse.org/downloads/

Paso 2. Descargar el SDK de Android.
El SDK de la plataforma Android se puede descargar desde este enlace . Una vez descargado, de nuevo bastará con descomprimir el zip en cualquier ubicación.
http://developer.android.com/sdk/index.html

Paso 3. Descargar el plugin Android para Eclipse.
Google pone a disposición de los desarrolladores un plugin para Eclipse llamado Android
Development Tools (ADT) que facilita en gran medida el desarrollo de aplicaciones para la plataforma. Podéis descargarlo mediante las opciones de actualización de Eclipse, accediendoal menú “Help / Install new software…” e indicando la URL de descarga:
https://dl-ssl.google.com/android/eclipse/

Se debe seleccionar e instalar el paquete completo Developer Tools, formado por Android DDMS y Android Development Tools.

Paso 4. Configurar el plugin ADT.
En la ventana de configuración de Eclipse, se debe acceder a la sección de Android e indicar la ruta en la que se ha instalado el SDK (paso 2).
http://s2.subirimagenes.com/otros/previo/thump_8076366captura1.jpg (http://www.subirimagenes.com/otros-captura1-8076366.html)

Paso 5. Descargar los targets necesarios.
Además del SDK de Android comentado en el paso 2, también debemos descargar los
llamados SDK Targets de Android, que no son más que las librerías necesarias para desarrollar en cada una de las versiones concretas de Android. Así, si queremos desarrollar por ejemplo para Android 1.6 tendremos que descargar su target correspondiente. Para ello, desde Eclipse debemos acceder al menú “Window / Android SDK and AVD Manager“, y en la sección Available Packages seleccionar e instalar todos los paquetes deseados.

http://s2.subirimagenes.com/otros/previo/thump_8076382captura.jpg (http://www.subirimagenes.com/otros-captura-8076382.html)

Paso 6. Configurar un AVD.
A la hora de probar y depurar aplicaciones Android no tendremos que hacerlo necesariamente sobre un dispositivo físico, sino que podremos configurar un emulador o dispositivo virtual (Android Virtual Device, o AVD) donde poder realizar fácilmente estas tareas. Para ello, volveremos a acceder al AVD Manager, y en la sección Virtual Devices podremos añadir tantos AVD como se necesiten (por ejemplo, configurados para distintas versiones de Android). Para configurar el AVD tan sólo tendremos que indicar un nombre descriptivo, el target de Android que utilizará, y las características de hardware del dispositivo virtual, como por ejemplo su resolución de pantalla, el tamaño de la tarjeta SD, o la disponibilidad de GPS.

http://s2.subirimagenes.com/otros/previo/thump_8076390captura2.jpg (http://www.subirimagenes.com/otros-captura2-8076390.html)

Amplio con como hacer una apk muy sencilla.

¡Hola Mundo! en Android
Creamos un nuevo proyecto de tipo Android Project. Indicamos su nombre, el target deseado, el nombre de la aplicación, el paquete java por defecto para nuestras clases y el nombre de la clase (activity) principal.
http://s2.subirimagenes.com/otros/previo/thump_8077314holamundo1.jpg (http://www.subirimagenes.com/otros-holamundo1-8077314.html)
http://s3.subirimagenes.com:81/otros/previo/thump_8077322holamundo2.jpg (http://www.subirimagenes.com/otros-holamundo2-8077322.html)

Esta acción creará toda la estructura de carpetas necesaria para compilar un proyecto para Android. Hablaremos de ella más adelante. Para ejecutar el proyecto tal cual podremos hacerlo como cualquier otro proyecto java configurando una nueva entrada de tipo Android Applications en la ventana de Run Configurations. Al ejecutar el proyecto, se abrirá un nuevo emulador Android y se cargará automáticamente nuestra aplicación.
La salida debería ser esta:
http://www.subirimagenes.net/thumbnails/5b7dc8cb5a2d79ca100f8b74154dd8fe.jpg (http://www.subirimagenes.net/show-image.php?id=e2ee785de85fa3a81185ec5ac13733f9)

Estructura de un proyecto Android
Para empezar a comprender cómo se construye una aplicación Android vamos a echar un vistazo a la estructura general de un proyecto tipo. Cuando creamos un nuevo proyecto Android en Eclipse se genera automáticamente la estructura de carpetas necesaria para poder generar posteriormente la aplicación. Esta estructura será común a cualquier aplicación, independientemente de su tamaño y complejidad. En la siguiente imagen vemos los elementos creados inicialmente para un nuevo proyecto Android:
http://www.subirimagenes.net/thumbnails/0c2d5376940da89d794cd6ed0ec7be88.jpg (http://www.subirimagenes.net/show-image.php?id=8433d908775fcaa9dc713e967a48b0ba)

En los siguientes apartados describiremos los elementos principales de esta estructura.

Carpeta /src/
Contiene todo el código fuente de la aplicación, código de la interfaz gráfica, clases auxiliares, etc. Inicialmente, Eclipse creará por nosotros el código básico de la pantalla (Activity) principal de la aplicación, siempre bajo la estructura del paquete java definido. Y eso es todo, ya subiré como hacer proyectos de Android en Eclipse y como compilar.
http://www.subirimagenes.net/thumbnails/1491a3d143c6eab606f60a5600d8d29c.jpg (http://www.subirimagenes.net/show-image.php?id=7e336607245e061fab0896282c40de99)

Carpeta /res/
Contiene todos los ficheros de recursos necesarios para el proyecto: imágenes, vídeos, cadenas de texto, etc. Los diferentes tipos de recursos de deberán distribuir entre las siguientes carpetas:
http://www.subirimagenes.net/thumbnails/fd65b640fdd96157c96812ce10748759.jpg (http://www.subirimagenes.net/show-image.php?id=72c96d63aaa6fd65ed4381b8c6d9974f)

Como ejemplo, para un proyecto nuevo Android, se crean los siguientes recursos para la aplicación:
http://www.subirimagenes.net/thumbnails/f81312f887b15862dc9998da526065aa.jpg (http://www.subirimagenes.net/show-image.php?id=0546f71f4b12d7abf47cff6503317124)

Carpeta /gen/
Contiene una serie de elementos de código generados automáticamente al compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de compilación de Android genera por nosotros una serie de ficheros fuente en java dirigidos al control de los recursos de la aplicación.
http://www.subirimagenes.net/thumbnails/0ea8282de2bb74da6fdeb508a7a962a4.jpg (http://www.subirimagenes.net/show-image.php?id=235a1f7f38552cc0ef10374500987f76)

El más importante es el que se puede observar en la imagen, el fichero R.java, y la clase R. Esta clase R contendrá en todo momento una serie de constantes con los ID de todos los recursos de la aplicación incluidos en la carpeta /res/, de forma que podamos acceder fácilmente a estos recursos desde nuestro código a través de este dato. Así, por ejemplo, la constante R.drawable.icon contendrá el ID de la imagen “icon.png” contenida en la carpeta /res/drawable/. Veamos como ejemplo la clase R creada por defecto para un
proyecto nuevo:

package net.sgoliver;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}

public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}

Carpeta /assets/
Contiene todos los demás ficheros auxiliares necesarios para la aplicación (y que se incluirán en su propio paquete), como por ejemplo ficheros de configuración, de datos, etc. La diferencia entre los recursos incluidos en la carpeta /res/raw/ y los incluidos en la carpeta /assets/ es que para los primeros se generará un ID en la clase R y se deberá acceder a ellos con los diferentes métodos de acceso a recursos. Para los segundos sin embargo no se generarán ID y se podrá acceder a ellos por su ruta como a cualquier otro fichero del sistema. Usaremos uno u otro según las necesidades de nuestra aplicación.

Fichero AndroidManifest.xml
Contiene la definición en XML de los aspectos principales de la aplicación, como por ejemplo su identificación (nombre, versión, icono, …), sus componentes (pantallas, mensajes, …), o los permisos necesarios para su ejecución. Veremos más adelante más detalles de este fichero. En el siguiente apartado veremos los componentes software principales con los que podemos construir una aplicación Android.

Componentes de una aplicación Android

En el apartado anterior vimos la estructura de un proyecto Android y aprendimos dónde colocar cada uno de los elementos que componen una aplicación, tanto elementos de software como recursos gráficos o de datos. En éste nuevo post vamos a centrarnos específicamente en los primeros, es decir, veremos los distintos tipos de componentes de software con los que podremos construir una aplicación Android. En Java o .NET estamos acostumbrados a manejar conceptos como ventana, control, eventos o servicios como los elementos básicos en la construcción de una aplicación. Pues bien, en Android vamos a disponer de esos mismos elementos básicos aunque con un pequeño cambio en la terminología y el enfoque. Repasemos los componentes principales que pueden formar parte de una aplicación Android [Por claridad, y para evitar confusiones al los nombres originales de los componentes].

Activity
Las actividades (activities) representan el componente principal de la interfaz gráfica de una aplicación Android. Se puede pensar en una actividad como el elemento análogo a una ventana en cualquier otro lenguaje visual.

View
Los objetos view son los componentes básicos con los que se construye la interfaz gráfica de la aplicación, análogo por ejemplo a los controles de Java o .NET. De inicio, Android pone a nuestra disposición una gran cantidad de controles básicos, como cuadros de texto, botones, listas desplegables o imágenes, aunque también existe la posibilidad de extender la funcionalidad de estos controles básicos o crear nuestros propios controles personalizados.

Service
Los servicios son componentes sin interfaz gráfica que se ejecutan en segundo plano. En concepto, son exactamente iguales a los servicios presentes en cualquier otro sistema operativo. Los servicios pueden realizar cualquier tipo de acciones, por ejemplo actualizar datos, lanzar notificaciones, o incluso mostrar elementos visuales (p.ej. activities) si se necesita en algún momento la interacción con del usuario.

Content Provider
Un content provider es el mecanismo que se ha definido en Android para compartir datos entre aplicaciones. Mediante estos componentes es posible compartir determinados datos de nuestra aplicación sin mostrar detalles sobre su almacenamiento interno, su estructura, o su implementación. De la misma forma, nuestra aplicación podrá acceder a los datos de otra a través de los content provider que se hayan definido.

Broadcast Receiver
Un broadcast receiver es un componente destinado a detectar y reaccionar ante determinados mensajes o eventos globales generados por el sistema (por ejemplo: “Batería baja”, “SMS recibido”, “Tarjeta SD insertada”, …) o por otras aplicaciones (cualquier aplicación puede generar mensajes (intents, en terminología Android) broadcast, es decir, no dirigidos a una aplicación concreta sino a cualquiera que quiera escucharlo).

Widget
Los widgets son elementos visuales, normalmente interactivos, que pueden mostrarse en la pantalla principal (home screen) del dispositivo Android y recibir actualizaciones periódicas. Permiten mostrar información de la aplicación al usuario directamente sobre la pantalla principal.

Intent
Un intent es el elemento básico de comunicación entre los distintos componentes Android que hemos descrito anteriormente. Se pueden entender como los mensajes o peticiones que son enviados entre los distintos componentes de una aplicación o entre distintas aplicaciones. Mediante un intent se puede mostrar una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicación, etc.

Metalaria
23/10/12, 15:37:14
Voy a explicar ahora como descargar el código fuente de Android.

1. Abre Eclipse, ve a Help > Install new software.
Haz click en Add…

2. Introduce:
http://adt-addons.googlecode.com/svn/trunk/source/com.android.ide.eclipse.source.update/
En el campo Location y pon un nombre a tu gusto por ejemplo “Android Source Plugin”.

3. Ahora selecciona el repositorio que acabas de agregar en la lista desplegable Work with. Deberá de aparecer tan solo “Android Sources” como opciones disponibles, selecciónalo.
http://s2.subirimagenes.com/imagen/previo/thump_8076596image160.png (http://www.subirimagenes.com/imagen-image160-8076596.html)

4. Pulsa Next, espera, vuelve a pulsar Next, acepta los términos de la licencia, pulsa Finish y espera mientras se instala.

5. Reinicie Eclipse

Y si todo ha ido bien eso debería funcionar

Metalaria
23/10/12, 15:58:53
Esto que voy a poner ahora es solamente para Ubuntu entre las versiones 10.04 y la 11.10. Esto lo que hará será descargar y compilar el código de cm10 de dhacker y del sts-devteam


Instalar ubuntu
Instalar el sdk de android http://rootzwiki.com/news/_/articles/the-ubuntu-way-a-new-easier-method-for-setting-up-adb-and-transferring-files-r592
Instalar el jdk de java:

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
Instalar python
sudo apt-get install python

Instalar git
sudo apt-get install git-core

Instalar los paquetes necesarios
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc

Si usas Ubuntu 10.10 sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
Si usas Ubuntu 11.10 sudo apt-get install libx11-dev:i386

Configurar el acceso USB. Esto puede que ya lo tengas hecho de manera automática al instalar el sdk de Android, pero si falla y solamente si falla introduce este comando:
gksudo gedit /etc/udev/rules.d/99-android.rules
Añade estas líneas al archivo

#Acer
SUBSYSTEM==usb, SYSFS{idVendor}==0502, MODE=0666

#ASUS
SUBSYSTEM==usb, SYSFS{idVendor}==0b05, MODE=0666

#Dell
SUBSYSTEM==usb, SYSFS{idVendor}==413c, MODE=0666

#Foxconn
SUBSYSTEM==usb, SYSFS{idVendor}==0489, MODE=0666

#Garmin-Asus
SUBSYSTEM==usb, SYSFS{idVendor}==091E, MODE=0666

#Google
SUBSYSTEM==usb, SYSFS{idVendor}==18d1, MODE=0666

#HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE=0666

#Huawei
SUBSYSTEM==usb, SYSFS{idVendor}==12d1, MODE=0666

#K-Touch
SUBSYSTEM==usb, SYSFS{idVendor}==24e3, MODE=0666

#KT Tech
SUBSYSTEM==usb, SYSFS{idVendor}==2116, MODE=0666

#Kyocera
SUBSYSTEM==usb, SYSFS{idVendor}==0482, MODE=0666

#Lenevo
SUBSYSTEM==usb, SYSFS{idVendor}==17EF, MODE=0666

#LG
SUBSYSTEM==usb, SYSFS{idVendor}==1004, MODE=0666

#Motorola
SUBSYSTEM==usb, SYSFS{idVendor}==22b8, MODE=0666

#NEC
SUBSYSTEM==usb, SYSFS{idVendor}==0409, MODE=0666

#Nook
SUBSYSTEM==usb, SYSFS{idVendor}==2080, MODE=0666

#Nvidia
SUBSYSTEM==usb, SYSFS{idVendor}==0955, MODE=0666

#OTGV
SUBSYSTEM==usb, SYSFS{idVendor}==2257, MODE=0666

#Pantech
SUBSYSTEM==usb, SYSFS{idVendor}==10A9, MODE=0666

#Philips
SUBSYSTEM==usb, SYSFS{idVendor}==0471, MODE=0666

#PMC-Sierra
SUBSYSTEM==usb, SYSFS{idVendor}==04da, MODE=0666

#Qualcomm
SUBSYSTEM==usb, SYSFS{idVendor}==05c6, MODE=0666

#SK Telesys
SUBSYSTEM==usb, SYSFS{idVendor}==1f53, MODE=0666

#Samsung
SUBSYSTEM==usb, SYSFS{idVendor}==04e8, MODE=0666

#Sharp
SUBSYSTEM==usb, SYSFS{idVendor}==04dd, MODE=0666

#Sony Ericsson
SUBSYSTEM==usb, SYSFS{idVendor}==0fce, MODE=0666

#Toshiba
SUBSYSTEM==usb, SYSFS{idVendor}==0930, MODE=0666

#ZTE
SUBSYSTEM==usb, SYSFS{idVendor}==19D2, MODE=0666
Después guarda y cierra el archivo, una vez cerrado introduce este comando:
sudo chmod a+r /etc/udev/rules.d/99-android.rules

Descargando el código y configurando el repositorio
Creamos un directorio /bin en la carpeta home
$ mkdir ~/bin
$ PATH=~/bin:$PATH
Descargamos el script del repositorio y nos aseguramos de que funciona

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

Ahora hacemos un directorio de trabajo
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Ahora iniciamos el repositorio en el directorio de trabajo
repo init -u git://github.com/CyanogenMod/android.git -b jellybean

Ahora necesitamos poner el STS-Dev-Team's local_manifest.xml dentro de nuestro directorio de trabajo para poder usar su código. Introduce este comando:
curl -L -o .repo/local_manifest.xml -O -L https://raw.github.com/STS-Dev-Team/android_local_STS/jellybean-cm-kexec/local_manifest.xml

Ahora necesitamos sincronizar los repositorios
repo sync Esto puede tardar bastante dependiendo de tu conexión a internet. Si durante el proceso hay algún error introduce este comando:
repo sync prebuilt

Comprobar las etiquetas de git
gpg --import

Despues copia y pega esto en la terminal de Ubuntu, una vez hecho pulsa ctrl+D

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu 5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEa UA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDya TrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJn uyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGh lIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cm lidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCA MEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tg CdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71 MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDg pqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior 6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmU tkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+Bmr EOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KL M=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----
Para comprobar una etiqueta en concreto git tag -v TAG_NAME (Siendo TAG_NAME el nombre de la etiqueta)

Compilando el código.
Si sabes programar en java para Android puedes modificar el código fuente, pero si no, introduce este comando para empezar a compilar:
build/envsetup.sh && brunch spyder
Esto puede tardar bastante, unas cuantas horas. Si lo quieres que sea un poco más rápido porque tu máquina tiene un procesador de más de un núcleo:
build/envsetup.sh && brunch spyder -j# (sutituye el símbolo # por el número de núcleos que quieras)



Cuando todo esto termine tendrás un archivo .zip en WORKING_DIRECTORY/out/target/product/spyder listo para que sea flasheado.

hipomenes
23/10/12, 16:28:15
Me suscribo

Enviado desde mi tiranosaurio razr maxx a través de paloma mensajera

Metalaria
23/10/12, 23:46:16
He actualizado el primer post, mañana seguiré poniendo cosas.

afangulo
24/10/12, 08:27:41
Excelente, gracias.

Enviado desde mi XT910 usando Tapatalk 2

Spawns
24/10/12, 09:02:09
esto es para win? o se puede incluir en linuxx?

Metalaria
24/10/12, 09:06:09
Vale tanto para Linux como para windows

Enviado desde mi XT910 usando Tapatalk 2

Bastard
24/10/12, 11:22:44
Gracias xD

Enviado desde my Motorola Razr MAXX sin problemas de Battery XD

Spawns
24/10/12, 22:18:43
Gente me acabo de econtrar con el libro bastante impresionante en cuanto a android se refiere...
hechadle un ojo cuando podais.. =)

http://commonsware.com/Android/Android-1_0-CC.pdf

Metalaria
25/10/12, 16:15:11
He metido un par de cosas nuevas en el primer post

Metalaria
28/10/12, 22:07:31
He actualizado mi tercer post

Spawns
28/10/12, 22:11:47
wow.....impresionante.

a ver si tengo un hueco en esta semana y testeo lo comentado...
GRANDE!!!

Luffy90
28/10/12, 23:01:23
Supongo que si usas la ultima versión de ubuntu has de buscarte las castañas, no?

Metalaria
28/10/12, 23:25:29
git no sé por qué no funciona bien del todo con las últimas versiones, lo intenté, pero los repositorios para instalar git funcionan fatal

Luffy90
29/10/12, 11:19:29
git no sé por qué no funciona bien del todo con las últimas versiones, lo intenté, pero los repositorios para instalar git funcionan fatal
Acabo de probarlo y me esta descargando ya los archivos de CM10, me falta por hacer el paso 9 y podré ponerme a toquetear el código ^^

P.D: Estoy usando Ubuntu 12.10 de 64 bits (que según la página de google que explica como descargar el código fuente de ellos, es necesario tener una distribución de Ubuntu de 64 bits a partir de la version 2.3.x de Android para poder toquetear)