2009-08-07 16 views

Respuesta

42

Bien, encontré el archivo justo después de plantear la pregunta anterior. (Parece que hacer preguntas me estimula públicamente a buscar respuestas por mi cuenta con mucha más diligencia, ya que no quiero que mis queridos compañeros me vean como un programador perezoso.)

Es un archivo XML bajo /data/data/your.app.package.name/shared_prefs, y el archivo name es your.app.package.name_preferences.xml. Es realmente fácil modificar las preferencias cuando se da cuenta de que el contenido es solo un mapa de clave-valor.

+1

¿Cómo puedo editar el archivo XML usando adb? – Fred

+1

Como se le preguntó, ¿cómo puede editarlo? Los editores VI y Nano no están instalados. ¿Cómo lo editas? – susparsy

+1

adb pull , edita en tu dispositivo, adb push joecks

24

Si la aplicación es debugable que podría hacer:

$ adb shell 
$ run-as <app-package-id> 
$ cat /data/data/<app-package-id>/shared_prefs/prefs.xml 

Tenga en cuenta que la preferencia puede ser almacenado en otro archivo, así que mejor cheque el directorio para encontrarlo:

$ ls /data/data/<app-package-id>/shared_prefs/ 
6

I Estoy usando este conveniente un-liner para tirar, editar en vim y empujar preferencias compartidas para una aplicación:

APP_ID=com.myapp; adb pull /data/data/${APP_ID}/shared_prefs/${APP_ID}_preferences.xml /tmp/${APP_ID}_preferences.xml && vim /tmp/${APP_ID}_preferences.xml && adb push /tmp/${APP_ID}_preferences.xml /data/data/${APP_ID}/shared_prefs/ 

Simplemente configure APP_ID en la identificación de su aplicación.

Tenga en cuenta que esto supone que está utilizando el nombre de archivo predeterminado para las preferencias compartidas, como se obtiene de PreferenceManager.getDefaultSharedPreferences(context). Además, ADB debe ejecutarse en modo raíz: adb root

0

Primero arrastre el archivo de preferencias compartidas desde el dispositivo. Esto requiere autorización de raíz.

adb pull /data/data/org.test/shared_prefs/MyKeys.xml MyKeys.xml 

Ahora MyKeys.xml se almacena en el directorio actual de su sistema.

valores Modificar por

vim MyKeys.xml 

Después de editar el archivo guardar los cambios y empujar al dispositivo.

adb push MyKeys.xml /data/data/org.test/shared_prefs/MyKeys.xml 

para verificar sus cambios

adb shell 
cat /data/data/org.test/shared_prefs/MyKeys.xml 
Cuestiones relacionadas