我正在使用共享偏好设置来存储应用程序的某些值。我想查看实际存储信息的文件在我的手机上的位置。我找到了许多在Eclipse中执行此操作的方法,但我正在使用Android Studio进行调试。我的手机已经获取了Root权限。我读到了获得Root权限对于读取这些类型的文件是很重要的。如果没有其他方法,那么我将查找如何通过我的程序访问信息,然后将其输出到日志窗口。希望能够直接在手机上查看文件,因为这样更简单。谢谢。
我正在使用共享偏好设置来存储应用程序的某些值。我想查看实际存储信息的文件在我的手机上的位置。我找到了许多在Eclipse中执行此操作的方法,但我正在使用Android Studio进行调试。我的手机已经获取了Root权限。我读到了获得Root权限对于读取这些类型的文件是很重要的。如果没有其他方法,那么我将查找如何通过我的程序访问信息,然后将其输出到日志窗口。希望能够直接在手机上查看文件,因为这样更简单。谢谢。
从Android Studio开始,启动Android设备监视器,转到文件浏览器,并浏览“/data/data/<您的软件包名称>/shared_prefs/”。您会在那里找到XML文件...您也可以复制它以进行检查。
如果您的设备没有root权限,则无法直接从Android Studio执行此操作。但是,只要您的应用程序是调试版本,就可以使用adb shell
访问该文件。
adb shell
run-as your.app.id
chmod 777 shared_prefs/your.app.id_preferences.xml
exit # return to default user
cp /data/data/your.app.id/shared_prefs/your.app.id_preferences.xml /sdcard
然后您可以使用adb从/sdcard目录中拉取文件。
Flipper是Facebook提供的一种更新的替代品。它具有更多功能,并且正在积极维护。
您可以使用http://facebook.github.io/stetho/在调试模式下访问共享首选项。无需ROOT权限
功能:
基本设置:
compile 'com.facebook.stetho:stetho:1.5.0'
Stetho.initializeWithDefaults(this);
- 打开设备文件资源管理器(屏幕右下角)
- 转到
data/data/com.yourAppName/shared_prefs
Android Studio -> 设备文件浏览器(右下角)-> data -> data -> {package.id} -> shared-prefs
注意:您需要将移动设备连接到Android Studio,并选择调试模式的应用程序。
这是一篇旧帖,但由于问题涉及使用Android Studio查看SharedPreferences.xml
,因此我认为我应该在此提供一个图形答案。以下是具体操作:
前往“工具”->“Android Device Monitor”。通过单击打开设备监视器。
然后您需要在设备监视器中选择“文件浏览器”选项卡。找到"data"文件夹,里面有另一个"data"文件夹。它将包含一个名为您的应用程序包名称的文件夹,其中将包含所需的SharedPreferences.xml
。
选择SharedPreferences.xml
文件,然后使用上面图像右上角标记的按钮将文件拉出并保存到您的计算机中。
我已经使用了一个设备模拟器。
您可以为调试目的创建一个特殊的 Activity:
@SuppressWarnings("unchecked")
public void loadPreferences() {
// create a textview with id (tv_pref) in Layout.
TextView prefTextView;
prefTextView = (TextView) findViewById(R.id.tv_pref);
Map<String, ?> prefs = PreferenceManager.getDefaultSharedPreferences(
context).getAll();
for (String key : prefs.keySet()) {
Object pref = prefs.get(key);
String printVal = "";
if (pref instanceof Boolean) {
printVal = key + " : " + (Boolean) pref;
}
if (pref instanceof Float) {
printVal = key + " : " + (Float) pref;
}
if (pref instanceof Integer) {
printVal = key + " : " + (Integer) pref;
}
if (pref instanceof Long) {
printVal = key + " : " + (Long) pref;
}
if (pref instanceof String) {
printVal = key + " : " + (String) pref;
}
if (pref instanceof Set<?>) {
printVal = key + " : " + (Set<String>) pref;
}
// Every new preference goes to a new line
prefTextView.append(printVal + "\n\n");
}
}
// call loadPreferences() in the onCreate of your Activity.
/data/data/package_name/shared_preferences_folder/name_of your_preferences.xml
,您可以使用ES文件浏览器,并进入您设备的根目录
,而不是SD卡
。如何在Android Studio中打开共享的preference
从右侧打开设备资源管理器文件- data>data>>shared_prefs
查看附加的图片以获得更多说明
data/data/[YOUR_APP_PACKAGE]/shared_prefs/
。 - A.W./data/data/com.**package_name**.test/shared_prefs/com.**package_name**.test_preferences.xml
adb pull /data/data/<包名>/shared_prefs/prefs.xml
- Lal