我使用adb和以下命令连接到我的活动设备:

C:\>adb -s HT829GZ52000 shell
$ ls
ls
sqlite_stmt_journals
cache
sdcard
etc
system
sys
sbin
proc
logo.rle
init.trout.rc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev
$ cd data
cd data
$ ls
ls
opendir failed, Permission denied

我惊讶地发现,我的访问被拒绝了。为什么我不能像这样使用命令行浏览目录呢?

我如何获得我手机的根权限?


当前回答

如果你的Android设备是根设备,这是有效的(不确定是否适用于非根设备)。

Adb shell -访问shell Su -成为超级用户。

您现在可以读取所有目录中的所有文件。

其他回答

如果你只是想看到你的数据库和表,那么最简单的方法是使用Stetho。非常酷的工具,每个Android开发者谁使用SQLite buit由Facobook开发。

工具使用步骤

在应用程序的gradle文件中添加以下依赖项

“编译”com.facebook.stetho: stetho: 1.4.2

在Activity onCreate()方法中添加以下代码行

@Override onCreate(Bundle savedInstanceState) super.onCreate (savedInstanceState); Stetho.initializeWithDefaults(这个); setContentView (R.layout.activity_main); }

现在,构建您的应用程序&当应用程序正在运行时,您可以浏览您的应用程序数据库,通过在url中打开chrome:

chrome://inspect/#devices

其截图如下_

ChromeInspact

你的数据库

希望对大家有所帮助!:)

如果你的Android设备是根设备,这是有效的(不确定是否适用于非根设备)。

Adb shell -访问shell Su -成为超级用户。

您现在可以读取所有目录中的所有文件。

当您处于该设备的shell目录时。你就跑

su - root

然后,您应该能够访问数据/文件夹。

如果你知道应用程序包,你可以直接CD到那个文件夹。

例如CD data/data/com.yourapp

这将把您放到一个可读/可写的目录中,以便您可以根据需要更改文件。由于模拟器上的文件夹是相同的,所以可以使用该文件夹获取文件夹路径。

$ adb shell

$ CD /data

$ ls

opendir失败,权限被拒绝


你应该这样做:

$ adb shell

$ cd /data

shell@android:/data $ run-as com.your.package 

shell@android:/data/data/com.your.package $ ls

OK!