adb comandos.pdf

September 28, 2017 | Author: gamaf059666 | Category: Android (Operating System), Computer File, Command Line Interface, Directory (Computing), Compact Disc
Share Embed Donate


Short Description

Download adb comandos.pdf...

Description

|   FOROS      |     Coméntame algo     |     Qué es esto |      Inicio    Elastix

B4A (Basic4Android) Cosas de Windows

App inventor 2 Webs interesantes

Arduino   Telecomunicaciones

 

Nuevo concurso para España, Argentina, Brasil, Chile, Colombia, Ecuador, México, Perú y Portugal.

B4A en español ­ Juan Antonio Villalpando (BASIC4Android)

­­ Tutorial de B4A ­­ Volver al índice del tutorial                    Return to index tutorial

____________________________ Basic4Android.

10.­ LINUX en Android.

Tutorial de LINUX en Android Presentación ­ Android es un sistema operativo para teléfonos inteligentes (smartphone), tabletas,... desarrollado inicialmente por Android Inc., esta compañía fue comprada por Google en julio de 2005, de tal manera que Android ahora pertenece a Google.  ­ Android está basado en el sistema operativo LINUX. ­ Aquí vamos a ver algunos comandos de LINUX actuando en el Android. A los nuevos usuarios les parecerá antiguo el trabajo con comandos, les recordará a los años 80 y el MSDOS, sin embargo los expertos informáticos de Windows, Linux, CISCO siguen utilizando la configuración del sistema mediante órdenes en el terminal, ya que así logran mayor control sobre el sistema. ­ Vamos a ver, de manera sencilla el resultado de la aplicación de algunos comandos. (Recordamos que estos tutoriales son de iniciación) ­ Primero entramos en el programa Basic4Android / Tools / Run AVD Manager  ­ Luego en el Android SDK Manager / Tools / Manage AVDs... ­ Marcamos un AVD Name / y pulsamos Start y luego Launch para abrir un emulador ­ El ejecutable que lanza al terminal (shell) de LINUX es el adb.exe (Android Debug Bridge ) que se encuentra en Windows: C:\Android\android­sdk\platform­tools\adb.exe

Para lanzarlo debemos entrar en el Símbolo de sistema de Windows, escribimos: cmd

  Nos posicionamos en la carpeta donde de encuentra adb.exe y lanzamos el shell.  cd C:\Android\android­sdk\platform­tools adb ­e shell

Sería conveniente poner la ruta en el PATH de Windows C:\Android\android­sdk\platform­tools, para poder lanzar el shell de LINUX desde cualquier directorio. Para ello, pulsamos con el botón derecho del ratón Equipo / Propiedades / Configuración avanzada del sistema / Opciones avanzadas / Variables de entorno... /  Marcamos donde pone Path y luego pulsamos en Editar... En Valor de variable, al final, añadimos ;C:\Android\android­sdk\platform­tools (poner ante de la C punto y coma ;)

Establecer un PATH en Windows

A partir de ahora, cuando entremos en el Símbolo de sistema (cmd) de Windows, solo con escribir adb ­e shell ya entraríamos en el shell del Android.

___________________________ Ya estamos en el shell de Android, vamos a ver algunos comandos  

Comandos del shell de Android ls

Muestra un listado de los archivos y directorios de la carpeta donde te encuentres

 

 

ls ­l

Listado en formato largo

                         

Si comienza por d es un directorio Si comienza por ­ es un archivo Si comienza por l es un enlace blando rwxrwxrwx son los permisos  root es el propietario de ese archivo o directorio 12995 es el tamaño en byte que ocupa el archivo. 

 

Fecha y nombre de archivo o directorio. etc ­> /system/etc significa que etc es un enlace blando (acceso directo) que va a /system/etc 

ls ­R

Listado Recursivo, muestra los archivos y directorios que hay en los subdirectorios. Muestra todo.

cd  cd ..  cd /

Cambia de directorio  Va al directorio anterior Va al directorio raíz

cd /data  pwd  ls ­l

Vamos a posicionarnos en el directorio /data  Para ver en qué directorio estamos (/data) Vamos a realizar un listado largo para ver lo que hay en data

cd /data  mkdir mkdir juanito cd juanito  pwd  ls ­l

Estamos en /data mkdir es para crear un directorio.  Vamos a crear un directorio dentro de /data llamado juanito Entramos en juanito  Veo que estoy en el directorio juanito (/data/juanito) Listamos el interior de juanito

echo Hola echo "Me llamo Juan" > nombre.txt ls ­l 

Repite Hola  Creo un archivo llamado nombre.txt y dentro está el texto "Me llamo Juan"  Vuelvo a listar para comprobar que se ha creado el archivo nombre.txt

cat nombre.txt

Veo el contenido del archivo nombre.txt (cat es para ver el contenido de un archivo)

ls ­l > milistado.txt  ls ­l  cat milistado.txt 

Otra vez hago un listado, pero esta vez no aparece en pantalla, sino que se guarda en el archivo milistado.txt Compruebo que se ha creado milistado.txt  Veo el contenido del archivo milistado.txt

cat milistado.txt > /data/listadito 

Copio milistado.txt en el directorio /data con el nuevo nombre listadito.  

pwd ls ­l  mv nombre.txt yomismo.txt ls ­l rm yomismo.txt ls ­l  cd .. pwd ls ­l rm ­r juanito  ls ­l

Compruebo que estoy en el directorio /data/juanito  Otra vez hago un listado largo  mv se utiliza cambiar el nombre de un archivo y para mover un archivo de un directorio a otro  rm se utiliza para borrar un archivo Vuelvo al directorio /data  Compruebo que estoy en /data Hago un listado de /data  Borro el directorio juanito ( rm ­r, se utiliza para borrar directorios) 

cp fuente destino

cp se utiliza para copiar un archivo o directorio

 

cp /system/app/juego.apk /sdcard/juego.apk

ls ­l /system/app

Listado de los archivos .apk que tenemos en este directorio.

 

 

cd / ls ­lR

Listado de todos los archivos del sistema  

  ls ­lR > todo.txt

El listado de todos los archivos del sistema se guarda en el archivo todo.txt

ls ­lR > /mnt/sdcard/todo.txt

Lo guardamos en la SdCard.

ps kill  top

Para ver los procesos que se están ejecutando Mata un proceso que se esté ejecutando, debemos escribir kill y el número PID de proceso. El PID lo vemos con ps  Si nos quedamos bloqueados pulsamos las teclas CTRL C y saldremos del adb

df /data df /etc

df muestra el tamaño de un directorio.

date

Para ver la fecha y la hora. 

date ­s aaaaMMdd.hhmmss

Cambiar la fecha date ­s 20120304.164020 Año 2012, Mes 03, Día 04, Hora 16, Minuto 40, Segundo 20

id  sleep 4; date

Identificador, número de usuario. El root es el Administrador, su id=0  Para la ejecución durante 4 segundos y después hace un date.

chown root archivo

Cambia el propietario de un archivo.

alias fechalista='date; ls ­l'

alias es para hacer macros. Una macro es una palabra que cuando se escribe en el terminal, ejecuta una o varias órdenes. En nuestro caso cuando escribamos fechalista, mostrará la fecha actual y luego realiza un listado largo. El ; es el separador de órdenes. 

chmod 777 archivo.txt

Cambia los permisos a un archivo. r permiso de lectura w permiso de escritura x permiso de ejecución para los archivos y de paso para los directorios. Se distingen tres tipos El propietario del archivo ­ El grupo del propietario ­ Todos los demás          r w x                                         r w x                                r w x           4 2 1                                        4 2 1                               4 2 1  La r vale 4 La w vale 2 La x vale 1 Quiero estos permisos rwx  rw­  r­­ Quiero estos permisos 421 42­ 4­­  Sumamos                        7     6   4 Luego chmod 764 archivo.txt 

chmod 777 archivo.txt le pone todos los permisos al archivo.txt > archivo.txt es una forma rápida de crear un archivo vacío.  ls ­l archivo.txt lista solamente el archivo.txt  mount

Para ver los dispositivos montados  Montar significa asociar un disposito con un directorio  En LINUX los dispositivos disponibles están en el directorio /dev mount /dev/dispositivo directorio umount directorio (Para desmontar) A veces queremos hacer unos cambios en un directorio y no se puede conseguir porque está montado en "solo lectura"  Para montarlo en "escritura y lectura", escribimos (en este caso es el directorio /system)  adb shell mount ­o remount,rw ­t yaffs2 /dev/block/mtdblock0 /system En LINUX hay un archivo importante, llamado fstab, en donde están indicados los dispositivos montados y la forma en que se pueden montar. En Android ese archivo se llama vold.fstab y está en el directorio /system/etc, consúltalo para ver donde está montada la SD Card cat /system/etc/vold.fstab

cd /data  echo "Soy un dinosaurio" > antiguo.txt ln

ls ­s

Enlace duro (Un enlace duro es un archivo que puede tener distintos nombres y estar en distitintos directorios, pero sigue siendo el mismo archivo, cuando modificamos uno de ellos estamos modificando todos, porque son el mismo. (En este ejemplo el archivo antiguo.txt y nuevo.txt son el mismo archivo ) ln antiguo.txt nuevo.txt  Enlace blando. Es como un acceso directo de Windows. Es otro archivo que cuando lo ejecuto voy al original. (En este ejemplo el archivo nuevos.txt va al antiguo.txt, pero son distintos archivos) ln ­s antiguo.txt nuevos.txt

ifconfig eth0

Ver la IP y la máscara de red  NOTA: conwifi debes escribir ifconfig wlan0 

ifconfig wlan0  netstat

Ver qué IPs están conectadas a mi sistema. 

              ping 127.0.0.1 ping www.google.com

Para ver si tengo conexión conmigo mismo en red. Para ver si tengo conexión con google.com En caso que no puedas salir pulsa CTRL C. 

export

Muestra las variables de entorno declaradas

set

Muestra las variables de entorno definidas

type mkdir type cat type rm

Mediante type podemos ver donde se encuentran los comandos, La mayoría se encuentra en: /system/bin/

 

Las aplicaciones .apk se encuentran en  cd /data/app ls ­l  cd /system/app  ls ­l

exit

Salir

   

Nota importante: Podemos trabajar directamente desde el root si ejecutamos el shell de esta manera: C:\>Users\juan> adb ­e shell # # mkdir /data/holaamigo o bien podemos poner los comando directamente sin entrar en el prompt del root de esta otra manera: C:\>Users\juan> adb shell mkdir /data/holaamigo  

¿Como puedo crear un archivo o un directorio desde Windows al Android? Vamos al Simbolo de sistema de Windows y escribimos: adb ­e shell mkdir /data/holaamigo

Borrar directorio adb ­e shell rm ­r /data/holaamigo Borrar archivo adb ­e shell rm /data/archivo ¿Cómo puedo pasar un archivo desde Windows al Android? Suponemos en que tenemos C:\hola.txt en Windows y queremos pasarlo al directorio /data del Android. adb ­e push "C:\hola.txt" "/data" ¿Cómo puedo pasar un archivo desde el Android a Windows? Suponemos en que tenemos /data/hola.txt y queremos pasarlo a nuestros Windows, y además cuando pase el hola.txt se convierta en adios.txt adb ­e pull "/data/hola.txt" "adios.txt"

¿Cómo instalar una aplicación.apk desde Windows a Android? adb install C:\tetris.apk                               (para instalarla) o bien adb install ­r C:\tetris.apk                            (para reinstalarla) adb uninstall C:\tetris.apk                            (para desinstalarla) Ayuda C:\Users\juan> adb ­d 1 shell Para que podamos poner permisos en algunos directorios, por ejemplo el /system hay que remontar la partición y hacerla de lectura y escritura adb remount  remonta la partición /system como de escritura (o de solo lectura si anteriormente era de escritura) Montar una partición como lectura y escritura adb shell mount ­o remount,rw ­t yaffs2 /dev/block/mtdblock0 /system Remontar una partición como lectura y escritura adb shell remount ­o remount,rw ­t yaffs2 /dev/block/mtdblock0 /system Ver Rooting Android http://android­dls.com/wiki/index.php?title=Rooting_Android

Notas: ­ LINUX distingue entre mayúsculas y minúsculas, no es lo mismo carta.txt que Carta.txt ­ En LINUX los archivos no suelen tener extensiones, por ejemplo lo normal sería carta

­ Si el prompt de LINUX es $ signifca que estamos trabajando como usuario limitado.  ­ Si el prompt de LINUX es # signifca que estamos trabajando como root (Administrador). ­ cat archivo1 > archivo2                          # Otra forma de copiar ­ Cambiar el prompt PS1='juan> ' Prompt del root  PS1='# ' ­ Añadir un nuevo PATH export PATH=/data/busybox:$PATH;

Comandos disponibles Como he comentado anteriormente podemos ver los comandos disponibles... cd /system/bin ls ­l Observamos que muchos comandos son enlaces a toolbox, es decir, cuando estamos ejecutando el comando date, en realidad date "está dentro" del toolbox. date ­­> toolbox

busybox Hay otra herramienta muy utilizada para ampliar el número de comandos que podemos disponer, esa herramienta se llama busybox. Vamos a instalar busybox (install busybox) Estamos en Windows 1.­ Entramos en la web de busybox.net Lo normal sería bajar un código fuente (source), descomprimirlo, subirlo al SDK y luego compilarlo con make, pero como podemos tener problemas con el make, así que vamos a bajar el binario. 2.­ Entramos en la página http://busybox.net/downloads/binaries/1.19.0/ La versión "busybox­i686" funciona en los sistemas operativos de ordenadores de 32­bit y 64­bit x86. La versión "armv4tl" funciona en la mayoría de los móviles. Esta es la que vamos a utilizar.  Así que bajamos la versión armv4tl 3.­ Supongamos que se ha bajado en nuestra carpeta de Windows C:\Users\juan\Downloads\armv4tl 4.­ Ahora lo tenemos que subir a nuestro emulador SDK mediante el shell adb.  Vamos al Símbolo del sistema de Windows y escribimos: C:\Users\juan>adb ­e push "C:\Users\juan\Downloads\busybox­armv4tl" "/data/busybox" Símbolo del sistema de Windows

C:\Users\juan>adb ­e push "C:\Users\juan\Downloads\busybox­armv4tl" "/data/busybox"

Esta orden copiará el archivo busybox­armv4tl en el directorio del SDK /data/busybox (no es necesario crear el directorio busybox, se crea al copiarlo) 5.­ Entramos en el terminal del SDK mediante adb ­e shell y escribimos esta órdenes cd /data/busybox pwd ls ­l chmod 777 busybox­armv4tl Ahora probamos si funciona ./busybox­arm4tl date Esto lo que hace es ejecutar el comando date que "se encuentra dentro" del busybox ¡Funciona!

¿Qué comandos hemos conseguido al instalar el busybox? Escribes ./busybox­armv4tl

Hemos ampliado el número de comandos que podemos utilizar. Truco. Vamos a arreglarlo un poco. En principio es un poco latoso tener que escribir un nombre tan largo busybox­armv4tl así que vamos a cambiarlo por bb alias bb=/data/busybox/busybox­armv4tl Ahora vamos a poner la dirección /data/busybox en el PATH, para poder ejecutar el busybox fácilmente desde cualquier directorio. export PATH=/data/busybox:$PATH (Esto no hace falta, ya que estoy realizando mediante alias) A partir de ahora podemos utilizar los comando del busybox de esta manera # bb ls ­l # bb whoami # bb date # bb cd / # bb mkdir midirectorio # bb echo "Hola amigo Juan" > hola.txt

# bb uptime (Tiempo que lleva el sistema encendido)  # bb uptime ­­help (Mediante ­­help podemos ver la ayuda del comando)  # bb route  # bb ls ­lR | bb more (more se utiliza para parar la salida de información en la pantalla cuando ésta muestra muchas líneas. Es este caso mostrariá Recursivamente en formato largo todos los archivos y directorios contenidos en los subdirectorios y haría paradas cuando se complete la pantalla)(CTRL C para salir)  ....... ­ Cada vez que iniciemos el shell mediante adb ­e shell, debemos escribir: alias bb=/data/busybox/busybox­armv4tl ­ Esta herramienta Busybox también se puede instalar en nuestro móvil para disponer de más comandos. Comando wget del Busybox ­ Uno de los comandos importante que nos aporta el Busybox es el wget, con él podemos bajar un archivo de Internet, aunque para ello debemos saber la IP del sitio. La IP del sitio la podemos conocer haciendo un ping. Vamos ver... # ping www.iesromerovargas.com Nos saldrá  esta es nuestra IP. Ahora vamos a bajar el archivo index.htm que se encuentra en ese sitio. # bb wget "http://92.43.17.39/index.htm" Ya tenemos el archivo index.htm bajado a nuestro ordenador.

Terminal del Android

También podemos llegar al Terminal mediante el menú del móvil. En este caso solo tenemos privilegio de usuario limitado, por eso sale el $ en vez del # 

¿Qué es rootear el Android?

­ Rootear es la posibilidad de utilizar tu Android como # root (Administrador), para poder borrar aplicaciones, instalarlas y tener un mejor control del sistema. Consulta este vídeo

Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.  Si continúa navegando consideramos que acepta su uso.  Acepto     Más información

Rootear el Terminal Emulator del SDK del Android   Como acabamos de ver, cuando vamos al Terminal Emulador de nuestro SDK, entramos mediante una cuenta de usuario, esto lo vemos porque el promt es un $. Si escribo un comando restringido como ifconfig eth0 , me saldrá un error indicando que no tengo permiso para ejecutarlo. (NOTA: en wifi sería ifconfig wlan0)

  Vamos a rootearlo para poder escribir ese tipo de comandos. (Debe estar funcionando el Emulador SDK) ­ Vamos al Símbolo de sistema de Windows, escribimos adb ­e shell y entramos en el shell del Android. Una vez dentro escribimos los siguientes comandos: (puedes copiar línea a línea desde aquí, y luego pegarlas en el shell) mount ­o remount,rw /dev/block/mtdblock1 /data cat /system/bin/sh > /data/su chmod 7755 /data/su

Ahora vamos al Terminal Emulador de nuestro SDK y escribimos: /data/su

Fijate como al escribir /data/su el prompt ha cambiado a # Esto significa que estamos como root. Ahora sí podemos ejecutar eficientemente el comando ifconfig eth0  (NOTA: en wifi sería ifconfig wlan0)  

 

Ejecutar un comando desde el código ' Desde el código de B4A podemos ejecutar comandos del shell  ' Este ejemplo necesita la librería Phone Dim Command, Runner As String Dim StdOut, StdErr As StringBuilder Dim Result As Int Dim Ph As Phone StdOut.Initialize StdErr.Initialize Runner = File.Combine(File.DirInternalCache, "runner") Command = File.Combine(File.DirInternalCache, "command") File.WriteString(File.DirInternalCache, "runner", "su 
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF