其他提示

如果应用程序是调试的你可以这样做:

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

请注意偏好可能存储在另一个文件中,以便更好 检查目录,以找到它:

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

我使用这个方便的一衬垫来拉,在vim编辑和共享推喜好的应用程序:

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/

刚刚成立APP_ID到您的应用程序ID。

请注意,这假定使用默认的文件名对于共享偏好,如从PreferenceManager.getDefaultSharedPreferences(context)获得。此外,亚行需要在根模式下运行:adb root

辅助bash函数

function adb-pull-prefs {
    # ${1} - app package
    # ${2} - prefs name
    adb exec-out run-as ${1} cat /data/data/${1}/shared_prefs/${2}.xml
}

在万一别人运行到“权限被拒绝”使用所有的上述建议,好像我是错误的,你可能需要使用exec-out这样的:

adb exec-out run-as <package.name> cat /data/data/<package.name>/shared_prefs/<package.name>_preferences.xml

首先拉共享偏好从设备文件。这需要根permision。

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

现在MyKeys.xml被存储在系统中的当前目录。

通过

修改值
vim MyKeys.xml

编辑文件后保存更改并推送到装置。

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

要验证所做的更改

adb shell
cat /data/data/org.test/shared_prefs/MyKeys.xml
scroll top