非root查看手机数据库和SharedPreferences的方法

前言

版权归作者所有,如有转发,请注明文章出处:https://xiaoduoduo.github.io/archives/

简介

非root情况下查看手机数据库和SharedPreferences的方法有两种:

方法一:Stetho

方法二:Android-Debug-Database

方法一: Stetho

github的地址:点击进入

第一步:在gradle.gradle中添加:

1
2
3
dependencies {
compile 'com.facebook.stetho:stetho:1.5.0'
}

第二步:Application初始化:

1
2
3
4
5
6
public class MyApplication extends Application {
public void onCreate() {
super.onCreate();
Stetho.initializeWithDefaults(this);
}
}

第三步:运行程序:

手机可以通过usb链接电脑,并且是在开发者模式的模式;

浏览器输入这个地址:
chrome://inspect/#devices

点击 inspect

进入调试界面:

方法二: Android-Debug-Database

github的地址:点击进入

第一步:在gradle.gradle中添加:

1
debugCompile 'com.amitshekhar.android:debug-db:1.0.1'

debugCompile只会在debug模式下编译使用。

第二步:打开你的Application 添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
public static void showDebugDBAddressLogToast() {
if (ConfigureSet.IsDebug) {
try {
Class<?> debugDB = Class.forName("com.amitshekhar.DebugDB");
Method getAddressLog = debugDB.getMethod("getAddressLog");
Object value = getAddressLog.invoke(null);
LogUtils.i("DebugDB: " + value);
} catch (Exception ignore) {
}
}
}

第三步:运行app控制台查看log输出:

ps:

1. 保证你的手机和pc在一个局域网

2. 如果你要修改8080端口,只需要在build.gradle中的buildTypes下面你的debug中进行配置:

1
2
3
4
5
6
buildTypes {
debug {
resValue("string", "PORT_NUMBER", "8081")
...
}
}

这时候控制台log:

第四步:浏览器打开网址:http://192.168.0.118:8081

可以修改、添加和删除数据库中的数据:

总结

第一种方法,功能十分强大,但是需要使用usb链接设备和电脑,而且有时候打开速度比较慢。
本人比较喜欢第二种方式:简单、方便。