2011-07-05 51 views

Respuesta

4

Cada dispositivo tiene la capacidad de ser diferente . En algunos teléfonos, como el Samsung Galaxy S Vibrant, la/sdcard/mount es grabable por cualquier host conectado a través de adb. En otros, como MyTouch 4G, 'adb push' no puede enviar ningún archivo a ningún destino.

Si está probando con sólo uno o dos dispositivos, abra una adb shell y emitir comandos como df y ls -l para ver qué puntos de montaje existen, y los permisos de archivo, respectivamente.

Si su usuario puede ejecutar find en el dispositivo Android, eso es una gran ventaja y probablemente pueda usarlo para buscar archivos que se puedan escribir por el uid efectivo actual (o que puedan ser escritos por todos).

Algunos directorios para probar:

 

    /sdcard 
    /data 
    /tmp 
    /opt 

Usted probablemente ha visto la adb page pero estoy vinculándolo por si acaso.

Ejemplo df salida:

 

    $ df 
    /dev: 318068K total, 64K used, 318004K available (block size 4096) 
    /system: 558668K total, 468920K used, 89748K available (block size 4096) 
    /data: 1190256K total, 129868K used, 1060388K available (block size 4096) 
    /cache: 294628K total, 16720K used, 277908K available (block size 4096) 
    /devlog: 21100K total, 6056K used, 15044K available (block size 4096) 
    /mnt/asec: 318068K total, 0K used, 318068K available (block size 4096) 
    /mnt/obb: 318068K total, 0K used, 318068K available (block size 4096) 
    /app-cache: 8192K total, 0K used, 8192K available (block size 4096) 

6

/data/local es típicamente de lectura y escritura por el usuario shell (el usuario que adb shell ejecuta bajo). Entonces debería poder insertar un archivo en/data/local.

Para que una aplicación para poder acceder a él, también tiene que establecer los permisos en el archivo apropiadamente

adb push prefs.txt /data/local 
adb shell chmod 664 /data/local/prefs.txt 

Otro enfoque sería tener su aplicación crear un nuevo directorio en el que es el directorio de datos de la aplicación en el dispositivo y establece los permisos en el directorio para ser legible/grabable en todo el mundo, lo que debería permitirle avanzar hasta allí.

5

ADB push parece funcionar bien con '/ data/local/tmp'.

Cuestiones relacionadas