- 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
ls -l
ls -R
|
Muestra un listado de los archivos y directorios de la carpeta donde te encuentres
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
Listado Recursivo, muestra los archivos y directorios que hay en los subdirectorios. Muestra todo. |
cd
cd ..
cd /
cd /data
pwd
ls -l |
Cambia de directorio
Va al directorio anterior
Va al directorio raíz
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
echo Hola
echo "Me llamo Juan" > nombre.txt
ls -l
cat nombre.txt
ls -l > milistado.txt
ls -l
cat milistado.txt
cat milistado.txt > /data/listadito
|
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
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
Veo el contenido del archivo nombre.txt (cat es para ver el contenido de un archivo)
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
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
ls -l /system/app
cd /
ls -lR
ls -lR > todo.txt
ls -lR > /mnt/sdcard/todo.txt |
cp se utiliza para copiar un archivo o directorio
cp /system/app/juego.apk /sdcard/juego.apk
Listado de los archivos .apk que tenemos en este directorio.
Listado de todos los archivos del sistema
El listado de todos los archivos del sistema se guarda en el archivo todo.txt
Lo guardamos en la SdCard. |
ps
kill
top
df /data
df /etc |
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 muestra el tamaño de un directorio.
|
date
date -s aaaaMMdd.hhmmss
id
sleep 4; date
chown root archivo
alias fechalista='date; ls -l' |
Para ver la fecha y la hora.
Cambiar la fecha date -s 20120304.164020
Año 2012, Mes 03, Día 04, Hora 16, Minuto 40, Segundo 20
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.
Cambia el propietario de un archivo.
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
ifconfig wlan0
netstat
ping 127.0.0.1
ping www.google.com |
Ver la IP y la máscara de red
NOTA: conwifi debes escribir ifconfig wlan0
Ver qué IPs están conectadas a mi sistema.
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
set
type mkdir
type cat
type rm |
Muestra las variables de entorno declaradas
Muestra las variables de entorno definidas
Mediante type podemos ver donde se encuentran los comandos, La mayoría se encuentra en:
/system/bin/ |
exit |
Las aplicaciones .apk se encuentran en
cd /data/app
ls -l
cd /system/app
ls -l
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á <92.43.17.39> 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. |
|
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 |
|
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 < " & Command)
File.WriteString(File.DirInternalCache, "command", "cd /system/bin" & CrLf & "setprop ctl.stop adbd" & CrLf & "exit") 'Any commands via crlf, and exit at end
Result = Ph.Shell("sh", Array As String(Runner), StdOut, StdErr)
Msgbox(StdOut.tostring, "")
__________________________________________________
' Si no funciona el código anterior, probamos con este...
Dim p As Phone
' File.WriteString(File.DirRootExternal, "1.sh", "#!/bin/sh" & CRLF & "echo test")
File.WriteString(File.DirRootExternal, "1.sh", "#!/bin/sh" & CRLF & "mkdir /mnt/sdcard/JUAN")
Dim out, err As StringBuilder
out.Initialize : err.Initialize
p.Shell("sh", Array As String(File.Combine(File.DirRootExternal, "1.sh")), out, err)
Log("out: " & out)
Log("err: " & err)
|
__________________________________________
- Hacer una imagen de la SdCard del emulador para ponerla en otro emulador.
Podemos hacer una imagen de la tarjeta sdcard del emulador para poderla pasar a otro emulador, pero no la podemos pasar al móvil real.
Para ello vamos al Símbolo de sistema y nos situamos en el directorio...
C:\Android\android-sdk\tools>
Escribimos el comando mksdcard, el tamaño de la imagen y el nombre de la imagen, por ejemplo...
C:\Android\android-sdk\tools>mksdcard 250M tarjeta.iso
Luego podemos pasar esta "tarjeta.iso" a otro emulador (pero no funciona en teléfonos reales).
C:\Android\android-sdk\tools>emulator -avd juan3 -sdcard tarjeta.iso
Siendo juan3 el nombre del emulador donde queremos grabar la tarjeta.iso
___________________________________________________
- Ver los archivos del emulador SDK mediante el Dalvik Debug Monitor
Vamos a la carpeta donde está instalado el SDK
C:\Android\android-sdk\tools
Encontramos un archivo llamado ddms.bat, lo pulsamos.
Pulsamos la primera línea sobre nuestro emulador, luego Device y después File Explorer...
Desde el explorador de archivos podemos pasearnos por los directorios y archivos de nuestro emulador.
También podemos copiar archivos desde el emulador al ordenador y viceversa (icono superior izquierda del File Explorer).
Las aplicaciones que tienes instaladas están en /data/data
__________________________________
- Ver los archivos del móvil o del emulador SDK en el ordenador.
Con el programa Droid Explorer, podemos ver los archivos de nuestro móvil en el ordenador.
Para ver los archivos de nuestro móvil en el programa, vamos Aplicaciones / Desarrollo / y marcamos USB, conectamos el móvil mediante USB.
|
|
|
También podemos ver nuestro emulador SDK, para ello pulsamos en el icono de Android en la barra de herramientas, aceptamos en las ventanas que van saliendo y veremos la pantalla de nuestro emulador o móvil.
|
Si pulsamos en Explore, veremos los directorios que componen el Android. |
También podemos lanzar el Terminal en modo root.
_____________________________________
- Comandos de LINUX
- Comandos de LINUX.
- Conexión entre dos emuladores.
|
Supongamos que hemos abierto dos emuladores: emulator-5554 y emulator-5556
Queremos ver la IP de cada emulador, para ello vamos al símbolo de sistema - cmd y escribimos:
adb devices
adb -s emulator-5554 shell ifconfig eth0
adb -s emulator-5556 shell ifconfig eth0
Observamos que los dos tienen la misma IP (10.0.2.15)
************************************************************
Para hacer un redir vamos al Putty
y escribimos en telnet localhost 5554
redir add tcp:8080:80
-------------
adb -s emulator-5554 emu redir add udp:18789:18789
and
adb -s emulator-5555 emu redir add udp:18789:18789
***********************************************************
http://www.basic4ppc.com/forum/additional-libraries-official-updates/9099-network-library-v1-10-udp-supported-2.html
Ver listado de un archivo desde el cmd
adb shell ls / system / bin
|
_____________________
Otra cosa mariposa...
- Vamos a realizar un ejercicio de montar, remontar, cambiar permisos...
Lo vamos a realizar con el archivo vold.fstab, en este archivo está configurado los bloques que se montan en el arranque del sistema y su forma de montaje.
Podemos ver lo que contiene si escribimos:
cat /etc/vold.fstab
Para ello mediante el Android SDK Manager abrimos un Android Virtual Device.
Vamos al símbolo de sistema de Windows y escribimos C:\Users\juan>adb -e shell
para que se abra un Terminal LINUX en modo root (#) del emulador como hemos visto al principio de esta página.
cd /
pwd
cd /etc
pwd
ls -l
chmod 777 vold.fstab
Unable to chmod vold.fstab: Read-only file system
mount
/dev/block/mtdblock0 /system yaffs2 ro 0 0
mount -o remount rw /system
mount
chmod 777 vold.fstab
ls -l /etc/vold.fstab
mount -o ro,remount /dev/block/mtdblock0 /system
mount
|
Nos situamos en la raíz
Comprobamos que estamos en la raíz.
Nos situamos en el directorio /etc
Comprobamos y observamos que estamos en /system/etc
(es un enlace blando etc --> /system/etc)
Listado largo para ver los ficheros existentes en /etc
-rw-r--r-- root root 1093 2014-4-5 22:44 vold.fstab
Vamos a ponerle (chmod) todos los permisos (777) a este archivo.
No se puede ya que ese bloque es de solo lectura (Read-only).
Vamos a comprobar que el directorio /system, que es donde está etc y vold.fstab, es de solo lectura.
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,nosuid,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
none /acct cgroup rw,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 ro 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block/vold/179:0 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,g
id=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,
iocharset=iso8859-
1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:0 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,uid=1
000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,
iocharset=iso
8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,size=0k,mode=000 0 0
Debemos remontar /system a Read Write (rw)
Lo comprobamos:
/dev/block/mtdblock0 /system yaffs2 rw 0 0
Ahora sí podemos cambiarle el permiso a vold.fstab
Lo comprobamos
-rwxrwxrwx root root 1093 2014-4-5 22:44 vold.fstab
Vamos volver a poner el bloque donde se encuentra /system en Read only
Lo comprobamos
/dev/block/mtdblock0 /system yaffs2 ro 0 0 |
Otra manera de remontar rw
mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
______________________
Otra cosa...
- Instala el Android en tu ordenador
Lo mejor es bajarse el VMWare para crear máquinas virtuales.
- Bájate el WMWare Player de: http://downloads.vmware.com/d/
- Instala el WMWare.
- Bájate el liveandroidv0.3.iso (176 MB)
- Crea una nueva máquina virtual.
- Marca Installer disc image file (iso)
y localiza el archivo liveandroidv0.3.iso que acabas de bajar.
- En Guess operating system marca: Other / FreeBSD
__________________________