Cuando creas una aplicación para Android, es importante que siempre la pruebes en un dispositivo real antes de lanzarla al mercado. En esta página, se describe la manera de configurar tu entorno de desarrollo y tu dispositivo con tecnología Android para realizar pruebas y depuraciones en el dispositivo.
Puedes usar cualquier dispositivo con tecnología Android como entorno para ejecutar, depurar y probar tus aplicaciones. Las herramientas que se incluyen en el SDK facilitan la instalación y la ejecución de tu aplicación en el dispositivo cada vez que realizar compilaciones. Puedes instalar la aplicación en el dispositivo directamente desde Android Studio o desde la línea de comando con ADB. Si todavía no tienes un dispositivo, consulta con los proveedores de servicios de tu área para determinar los dispositivos con tecnología Android que están disponibles.
Si deseas un teléfono con SIM desbloqueada, podrías usar un Nexus. Para comprar un teléfono Nexus, visita la Google Play Store.
Nota: Cuando realices tareas de desarrollo en un dispositivo, ten en cuenta que debes usar el emulador de Android para probar tu aplicación en configuraciones que no son equivalentes a las del dispositivo real. Aunque el emulador no te permite probar cada función del dispositivo (por ejemplo, el acelerómetro), puedes verificar, entre otros aspectos, que tu aplicación funcione correctamente en diferentes versiones de la plataforma Android, diferentes tamaños de pantalla y orientaciones.
Habilitación de opciones para el desarrollador en el dispositivo
Los dispositivos con tecnología Android presentan diferentes opciones para el desarrollador a las que puedes acceder en el teléfono. Con ellas puedes hacer lo siguiente:
- habilitar la depuración mediante USB;
- Obtener rápidamente informes de errores en el dispositivo;
- mostrar el uso de la CPU en la pantalla;
- mostrar información de depuración en la pantalla, como límites, actualizaciones en vistas de GPU y capas de hardware, y otros datos;
- muchas más opciones para simular esfuerzos de la app o habilitar opciones de depuración.
Para acceder a esta configuración, abre Developer options en Settings. En Android 4.2 y versiones posteriores, la pantalla Developer options está oculta de manera predeterminada. Para que se muestre, dirígete a Settings > About phone y toca Build number siete veces. Cuando regreses a la pantalla anterior, verás que Developer options aparecerá en la parte inferior.
Configuración de un dispositivo para desarrollo
Con un dispositivo con tecnología Android puedes desarrollar y depurar tus aplicaciones para Android como lo harías en el emulador. Antes de comenzar, haz lo siguiente:
- Verifica que la aplicación sea “depurable” en el manifiesto o en el archivo build.gradle.
En el archivo de compilación, asegúrate de que la propiedad debuggable en el tipo de compilación debug sea true. La propiedad del tipo de compilación anula la configuración del manifiesto.
android { buildTypes { debug { debuggable true }En el archivo
AndroidManifest.xml, agregaandroid:debuggable="true"al elemento<application>.Nota: Si habilitas manualmente la depuración en el archivo del manifiesto, asegúrate de inhabilitarla en tu compilación de versiones (generalmente, tu aplicación publicada no debe ser depurable).
- Habilita USB debugging en el dispositivo. Para ello, ve a Settings > Developer options.
Nota: En Android 4.2 y versiones posteriores, la opción Developer options está oculta de manera predeterminada. Para que esté disponible, dirígete a Settings > About phone y presiona Build number siete veces. Cuando regreses a la pantalla anterior, verás Developer options.
- Configura el sistema para que detecte el dispositivo.
- Si deseas realizar tareas de desarrollo en Windows, debes instalar un controlador USB para adb. Para obtener una guía de instalación y vínculos a controladores OEM, consulta el documento Controladores OEM USB.
- En el caso de las tareas de desarrollo en Mac OS X, no necesitas configurar el sistema. Omite este paso.
- Si deseas desarrollar una aplicación en Ubuntu Linux, debes agregar un archivo de reglas
udevque contenga una configuración USB por cada tipo de dispositivo que deseas usar para el desarrollo. En dicho archivo, el fabricante de cada dispositivo está identificado con un ID de proveedor único, tal como lo especifica la propiedadATTR{idVendor}. Para obtener una lista de ID de proveedores, consulta ID de proveedores USB a continuación. Para configurar la detección de dispositivos en Ubuntu Linux:- Accede como raíz y crea el siguiente archivo:
/etc/udev/rules.d/51-android.rules.Usa este formato para agregar cada proveedor al archivo:
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
En este ejemplo, el ID del proveedor es para HTC. La asignaciónMODEespecifica permisos de lectura y escritura, yGROUPdefine el grupo Unix al que corresponde el nodo del dispositivo.Nota: La sintaxis de la regla puede variar ligeramente según el entorno. Consulta la documentación de
udevdel sistema según sea necesario. Para obtener una descripción general de la sintaxis de las reglas, consulta esta guía sobre redacción de reglas udev. - Ahora ejecuta lo siguiente:
chmod a+r /etc/udev/rules.d/51-android.rules
- Accede como raíz y crea el siguiente archivo:
Nota: Cuando conectas un dispositivo con Android 4.2.2 o superior a la computadora, en el sistema se muestra un cuadro de diálogo en el que se solicita aceptar una clave RSA para realizar la depuración a través de este equipo. Este mecanismo de seguridad protege los dispositivos del usuario porque garantiza que la depuración USB y otros comandos adb no se ejecuten a menos que desbloquees el dispositivo y aceptes el contenido del diálogo. De esta forma, es necesario que cuentes con la versión 1.0.31 de adb (disponible con SDK Platform-tools r16.0.1 y versiones posteriores) a fin de realizar la depuración en un dispositivo con Android 4.2.2 o versiones posteriores.
Cuando te conectas por medio de USB, puedes verificar que el dispositivo esté conectado. Para ello, debes ejecutar adb devices desde el directorio de SDK platform-tools/. Si estás conectado, verás que el nombre del dispositivo figurará en la lista de dispositivos como “device”.
Si usas Android Studio, ejecuta o depura la aplicación como siempre. Verás un cuadro de diálogo Device Chooser donde se incluye una lista de los emuladores disponibles y los dispositivos conectados. Selecciona el dispositivo en el que desees instalar y ejecutar la aplicación.
Si usas Android Debug Bridge (adb), puedes emitir comandos con el indicador -d a fin de seleccionar como destino el dispositivo conectado.
ID de proveedores USB
En esta tabla, se ofrece una referencia de los ID de los proveedores que se necesitan para agregar compatibilidad con dispositivos USB en Linux. El ID del proveedor USB es el valor otorgado a la propiedad ATTR{idVendor} en el archivo de reglas, tal como se describió antes.
| Empresa | ID del proveedor USB |
|---|---|
| Acer | 0502 |
| ASUS | 0b05 |
| Dell | 413c |
| Foxconn | 0489 |
| Fujitsu | 04c5 |
| Fujitsu Toshiba | 04c5 |
| Garmin-Asus | 091e |
18d1 |
|
| Haier | 201E |
| Hisense | 109b |
| HP | 03f0 |
| HTC | 0bb4 |
| Huawei | 12d1 |
| Intel | 8087 |
| K-Touch | 24e3 |
| KT Tech | 2116 |
| Kyocera | 0482 |
| Lenovo | 17ef |
| LG | 1004 |
| Motorola | 22b8 |
| MTK | 0e8d |
| NEC | 0409 |
| Nook | 2080 |
| Nvidia | 0955 |
| OTGV | 2257 |
| Pantech | 10a9 |
| Pegatron | 1d4d |
| Philips | 0471 |
| PMC-Sierra | 04da |
| Qualcomm | 05c6 |
| SK Telesys | 1f53 |
| Samsung | 04e8 |
| Sharp | 04dd |
| Sony | 054c |
| Sony Ericsson | 0fce |
| Sony Mobile Communications | 0fce |
| Teleepoch | 2340 |
| Toshiba | 0930 |
| ZTE | 19d2 |