El SDK de Android, que es la base de esta plataforma. Si ya os hemos hablado de como instalar el SDK y de como hacer capturas de pantalla usando el DDMS, os vamos a ampliar en dos artículos los horizontes de esta gran herramienta de depuración sin entrar en una exploración extremadamente exhaustiva de todas sus capacidades.
DDMS son las siglas de Dalvik Debug Monitor Server, y como su nombre indica esta aplicación es un monitor de depuración de la máquina virtual Dalvik, que es la máquina virtual de proceso de Android. Esta aplicación proporciona servicios de redireccionamiento de puertos, captura de pantallas, captura y listado de información en el dispositivo, hacer logcats, ver los procesos y la información del estado de radio, simular llamadas entrantes o SMS, e incluso simular una posición de ubicación. Todas estas características convierten al DDMS en una herramienta muy útil para cualquier desarrollador.
Podrán encontrar el DDMS en el directorio tools/ del SDK, aunque necesitaréis tener Java instalado en nuestro PC para poder ejecutarlo. Podéis ejecutarlo desde la línea de comandos, entrando en la carpeta y escribiendo su nombre. DDMS trabajará con el emulador del SDK o un dispositivo conectado, si ambos están conectados y en funcionamiento al mismo tiempo, por defecto DDMSusará el emulador.
DDMS actúa como un intermediario para conectar el entorno de desarrollo utilizado, el más común es Eclipse, con las aplicaciones que se ejecutan en el dispositivo. En Android, cada aplicación se ejecuta en su propio proceso, y cada uno de ellos cuenta con su propia máquina virtual (VM).
Vamos a dar un repaso a la interfaz y las opciones que podemos encontrar en el Dalvik Debug Monitor Server:
Panel Izquierdo
En el lado izquierdo del monitor de depuración se muestra cada emulador o dispositivo conectadoactualmente, con una lista de todas las máquinas virtuales en ejecución dentro de cada uno. Lasmáquinas virtuales se identifican por el nombre del paquete de la aplicación que aloja, y podemos utilizar esta lista para encontrar y conectar con la máquina virtual de la actividad que deseamos depurar. En la columna de más a la derecha se muestran los puertos a los que están conectadas cada máquina virtual y también el identificador de proceso de Linux al lado del nombre del paquete. Cada proceso Linux tiene su propia identificación o PID, y como Android está basado en el Kernel de Linux, nos encontramos estos identificadores aquí.
Los botones que podemos encontrar en este panel, marcados con números en la captura superior, tienen diversas funciones:
- Activa el muestreo de las actualizaciones de la memoria.
- Realiza un volcado de la memoria en un archivo HPROF.
- Hace un Garbage Collection instantáneo al pulsarlo, es decir, una recolección de información.
- Activa las actualizaciones de información de los hilos en su pestaña correspondiente.
- Activa el método de perfiles.
- Detiene la máquina virtual seleccionada en el dispositivo.
Panel Derecho
El panel derecho está lleno de pestañas que muestran información útil y algunas herramientas.
Usando el SDK: Dalvik Debug Monitor Server (Parte 2)
Pestañas de información del panel derecho
Cómo ya hemos visto, en este panel derecho se concentra la parte más útil el monitor de depuración, que será la mayoría de la información y algunas herramientas. Vamos a ver las pestañas una por una, indicando las opciones básicas que encontramos en cada una de ellas. No entraremos en un desarrollo muy técnico, pero con esta información sabremos cómo funciona el monitor y qué podemos ver en él:
Info
Esta pestaña muestra información general sobre la máquina virtual seleccionada, incluyendo el ID de proceso, el nombre del paquete y la versión de la máquina virtual.
Threads
La pestaña threads contiene una lista de subprocesos o “hilos” que se ejecutan en la máquina virtual o proceso principal seleccionado. Esta pestaña incluye la siguiente información:
• ID – un identificador único para el hilo. En Dalvik, éstos son los números impares a partir de 3.
• Tid – el ID del hilo Linux. Para el hilo principal en un proceso, este coincide con el ID del proceso.
• Status – el estado del hilo (running, sleeping, init, ...)
• utime – tiempo total dedicado a ejecutar código de usuario.
• stime – tiempo total dedicado a ejecutar código del sistema.
• Name - El nombre del hilo
• Tid – el ID del hilo Linux. Para el hilo principal en un proceso, este coincide con el ID del proceso.
• Status – el estado del hilo (running, sleeping, init, ...)
• utime – tiempo total dedicado a ejecutar código de usuario.
• stime – tiempo total dedicado a ejecutar código del sistema.
• Name - El nombre del hilo
“ID” y “Name” se establecen cuando el hilo se ha iniciado. El resto de campos se actualizan periódicamente (por defecto es cada 4 segundos).
VM Heap
Muestra algunas estadísticas de la memoria, y se actualiza mediante el botón GC (el icono del cubo de basura a la izquierda), o el botón Cause GC que encontraremos en la propia pestaña.
Allocation tracker
En esta pestaña, se puede realizar un seguimiento de la asignación de memoria de cada máquina virtual.
Emulator control
En esta pestaña podremos simular estados especiales o actividades de los dispositivos. Las características de esta pestaña incluyen:
• Telephony status – cambiar el estado de los planes de voz y datos del teléfono (home, roaming, searching, etc), y simular diferentes tipos de velocidad y latencia de la red (GPRS, EDGE, UMTS, etc.)
• Telephony actions – simular llamadas telefónicas o mensajes SMS en el emulador.
• Location controls – enviar datos simulados de ubicación al emulador para poder realizar operaciones de localización en cartografía GPS, por ejemplo.
• Telephony actions – simular llamadas telefónicas o mensajes SMS en el emulador.
• Location controls – enviar datos simulados de ubicación al emulador para poder realizar operaciones de localización en cartografía GPS, por ejemplo.
Logs y outputs
Estos son, desde el punto de vista del desarrollador, los paneles más importantes del DDMS. Aquí podremos realizar la depuración y seguimiento de tareas, en caso de que tengamos problemas con la aplicación que estemos desarrollando.
En la pestaña Log, la de abajo, tenemos todos los mensajes del dispositivo, la mayoría de los cuales serán incomprensibles, pero también podremos ver mensajes de excepciones y mensajes de señuelo que hayamos dejado en el código de nuestra aplicación para ver hasta dónde ejecuta.
En la pestaña Event log, nos encontramos con otro tipo de mensajes. Estos son los relacionados con los cambios de los estados y las aplicaciones en el teléfono. Cuando una aplicación se instala, o cuando se inicia el dispositivo o emulador, los mensajes que muestran información se verán aquí. Si encontramos problemas de conectividad, aquí se muestran este tipo de errores también.
Más funciones del DDMS
Explorador de archivos
Se inicia seleccionando en la barra de herramientas Device>File explorer. Con él podemos ver el sistema de archivos completo del dispositivo y realizar administración básica de él, como copiar o pegar archivos en un entorno gráfico sin usar los comandos de ADB push y pull.
Se pueden arrastrar y colocar archivos directamente a los directorios del dispositivo, pero no se pueden arrastrar fuera de él, para esto se debe usar el botón Pull de la barra de herramientas. Para eliminar un archivo, se debe usar también el botón Delete.
Captura de Pantalla
Se pueden capturar imágenes directamente de la pantalla del dispositivo o emulador haciendo click en la barra de herramientas superior en Device>Screen capture o pulsando CTRL-S en el teclado.
Explorando procesos
Se puede ver la salida del comando ps -x para una máquina virtual específica seleccionado en la barra de herramientas Device>Show process status.
Examinar el estado de la radio
De forma predeterminada, el estado de la radio no se muestra en la salida de un log estándard. Para ver esta información, se puede seleccionar en la barra de herramientas Device>Dump radio state.
Detener una máquina virtual
Se puede detener una máquina virtual específica seleccionando en la barra de herramientasActions>Halt VM.
Conclusiones
Desde el punto de vista más técnico esta herramienta es quizás la más útil y aprovechable del SDK de Android. Permite a cualquier desarrollador depurar sus aplicaciones casi sin pensar en limitaciones, pues un desarrollador cualquiera puede desde generar eventos en el emulador (llamadas, SMS, ubicaciones simuladas, etc.) para probar características de sus aplicaciones y ver que funcionan correctamente, hasta poder comprobar si su aplicación se ejecuta bien por partes dejando en el código mensajes a modo de checkpoints que pueden verse en los logs. Incluso pueden comprobar el uso de memoria de una aplicación concreta y generar eventos de recogida de información.
Desde el punto de vista de un usuario normal, la herramienta no es tan usable, pero para saciar la curiosidad con este monitor de depuración se puede ver información de como funciona nuestro terminal desde dentro. Además, se pueden aprovechar las herramientas básicas para hacer capturas de pantalla o ver el sistema de archivos y las carpetas de sistema sin necesidad de desbloquear el bootloader del terminal ni arriesgarse a pérdidas de garantías.
Evidentemente, todos sabemos que el SDK es un conjunto de soluciones específicamente ideadas para desarrolladores, pero conociendo un poquito más de cada herramienta podremos sacarle partido aún sin tener conocimientos avanzados.
Google borra 21 aplicaciones con contenido malintencionado
Una de las principales ventajas de la plataforma Android frente al resto está en la facilidad que Google otorga a los desarrolladores de aplicaciones a la hora de publicar sus aplicaciones en el Android Market. Google no revisa las aplicaciones con imposiciones de seguridad, contenido u objetivo. Además existe la posibilidad de instalar aplicaciones manualmente, directamente desde el .apk descargado de algún sitio, opción previamente hemos debido autorizar en el menú de tu móvil Android.
Gracias a esta virtud también podemos caer en el defecto, ya que somos nosotros mismos los tutores y alumnos de nuestros terminales, somos nosotros los que decidimos si tal o cual aplicación es correcta, delegando toda responsabilidad en la confianza hacia el desarrollador, a los comentarios del resto de usuarios o amigos.
Aprovechando esta posibilidad, hay personas que se dedican a desarrollar aplicaciones actractivas a los usuarios, o simplemente a copiar aplicaciones ya existentes en el Android Market, pero variando su contenido y las distribuyen como enlaces en una web ajena al Market, ya que la aplicación original puede ser de pago o estar limitada a una zona geográfiga.
En ocasiones, este tipo de aplicaciones pueden esconder Malware (malicious software) o malintencionado. En este caso, sólo por las reseñas de nosotros, los consumidores, se pueden detectar, informar al resto y delatar a Google para que tome cartas en el asunto.
A raíz de esto, nos llega la noticia que Google acaba de borrar y prohibir de su Android Market una lista de 21 aplicaciones, delatadas por los usuarios y comprobadas por ellos mismos como Malware. La lista de aplicaciones en cuestión (algunas en chino) es la siguiente:
- Falling Down
- Super Guitar Solo
- Super History Eraser
- Photo Editor
- Super Ringtone Maker
- Super Sex Positions
- Hot Sexy Videos
- Chess
- 下坠滚球_Falldown
- Hilton Sex Sound
- Screaming Sexy Japanese Girls
- Falling Ball Dodge
- Scientific Calculator
- Dice Roller
- 躲避弹球
- Advanced Currency Converter
- APP Uninstaller
- 几何战机_PewPew
- Funny Paint
- Spider Man
- 蜘蛛侠
Si conoces o has instalado alguna de estas aplicaciones ya sabes lo de debes hacer. De todas formas sigue existiendo un problema o más bien una advertencia, debido a que existe otra posibilidad para instalar aplicaciones, o sea, a mano.
Debemos poner especial atención en el origen de las aplicaciones que vamos a instalar manualmente, comprobando si existen comentarios de otros usuarios al respecto o de la trayectoria de la empresa o del desarrollador. La seguridad de la información que contiene nuestro móvil está en nuestras manos.
Cortesía de: www.xatakandroid.com
No hay comentarios:
Publicar un comentario