我使用adb和以下命令连接到我的live设备:
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
Run Code Online (Sandbox Code Playgroud)
我惊讶地发现我有访问被拒绝.为什么我不能使用这样的命令行浏览目录?
如何在手机上获得root访问权限?
Ido*_*lon 209
从API级别8(Android 2.2)开始,对于可调试应用程序(除非请求发布版本,所有时间由Android Studio构建的应用程序),您可以使用shell run-as命令作为特定用户/应用程序运行命令或可执行文件或者只是切换到应用程序的UID,以便访问其数据目录.
列出yourapp的目录内容:
run-as com.yourapp ls -l /data/data/com.yourapp
Run Code Online (Sandbox Code Playgroud)
切换到com.yourapp的 UID 并使用该uid运行所有其他命令(直到你调用exit):
run-as com.yourapp
cd /data/data/com.yourapp
ls -l
exit
Run Code Online (Sandbox Code Playgroud)
注1:某些HTC Desire手机存在已知问题.由于/data/data目录的非标准所有者/权限,run-as命令无法在这些手机上运行.
注2:正如@Avio的评论所指出的那样:
run-as在任何版本(从7到10.1)运行Cyanogenmod的三星Galaxy S手机也存在问题,因为在这个平台上/data/data是一个符号链接/datadata.解决此问题的一种方法是将symlink替换为实际目录(遗憾的是,这通常需要root访问权限).
Ret*_*ier 134
如果要浏览设备上的所有内容,有两件事需要记住.
adb rootabb*_*ood 46
在我们开始之前,你有根电话吗?如果没有,我强烈建议你跳跃的时候了.99%的帮助你做这个的教程要求你有一个带根电话(我知道b/c我花了大约一个小时寻找一种方法,没有一个root电话..找不到任何.. )如果你考虑一下,你的iPhone也必须根植于同样的任务.所以这是完全合理的.更多关于在答案结束时生根的内容.
从您的命令行类型:
adb shell
Run Code Online (Sandbox Code Playgroud)
这会将你带到你的android shell命令行(你应该看到这样的东西:shell@android:/ $现在输入:
shell@android:/ $run-as com.domain.yourapp
Run Code Online (Sandbox Code Playgroud)
这应该直接带你到以下数据目录com.domain.yourapp:
shell@android:/data/data/com.domain.yourapp $
Run Code Online (Sandbox Code Playgroud)
如果没有(即如果你收到错误)那么你可能没有root电话,或者你没有使用root用户权限.要使用您的root用户权限,请su在adb命令行上输入并查看会发生什么,如果您收到错误,那么您的手机不是root.如果不是,请先将其root化,然后继续执行这些说明.
从那里你可以输入ls,你会看到所有的目录,包括dbs:
shell@android:/data/data/com.domain.yourapp $ ls
cache
databases
lib
shared_prefs
Run Code Online (Sandbox Code Playgroud)
之后你可以使用sqlite3来浏览dbase ..如果你没有安装它(你可以通过输入找到它sqlite3,如果你command not found那么你就必须安装它.要安装sqlite,请按照这里的说明操作.
关于生根:如果你以前从来没有植根过手机,而且你担心它会搞砸你的手机,我可以完全放心地告诉你,没有什么可担心的.几乎所有的新旧机型都有大量快速简便的手机生根教程,即使你有一台mac(我用我的mac生根了我的s3),你也可以根据自己的手机.
Hel*_*rld 40
$ 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
Run Code Online (Sandbox Code Playgroud)
好!
ryt*_*tis 29
当我尝试在有根的三星Galaxy S上操作时,我遇到了类似的问题.从计算机外壳发出命令
> adb root
Run Code Online (Sandbox Code Playgroud)
失败并显示消息"无法在生产版本中以root身份运行".这是一个允许成为root的简单方法.
而不是前一个,一个接一个地发出以下两个命令
> adb shell
$ su
Run Code Online (Sandbox Code Playgroud)
在第一个命令之后,如果提示已从'>'更改为'$',如上所示,则表示您已进入adb shell环境.如果随后在发出第二个命令后提示已更改为"#",则表示您现在是root用户.现在,作为root,您可以使用您的设备执行任何操作.
要切换回'安全'shell,请发出
# exit
Run Code Online (Sandbox Code Playgroud)
您将看到提示符'$'再次出现,这意味着您作为用户而不是root用户身在adb shell中.
MSq*_*are 19
我也遇到了很多麻烦.我仍然不完全理解权限和root运行,但这对我(部分先前的答案之一)起作用,从/ data/data/[package name] /databases/my_db.db复制数据库文件.由于某种原因在shell中运行shell root或su不起作用,也没有复制db文件(我可以导航到目录),sqlite3也没有.
所以,这有效!在DOS命令提示符下:
C:\Program Files\Android\android-sdk\platform-tools>adb shell
1|shell@android:/ $ run-as de.vogella.android.locationapi.maps
run-as de.vogella.android.locationapi.maps
1|shell@android:/data/data/de.vogella.android.locationapi.maps $ cd /data
cd /data
shell@android:/data $ cd data
cd data
shell@android:/data/data $ cd de.vogella.android.locationapi.maps
cd de.vogella.android.locationapi.maps
shell@android:/data/data/de.vogella.android.locationapi.maps $ cd databases
cd databases
shell@android:/data/data/de.vogella.android.locationapi.maps/databases $ ls
ls
bus_timetable_lines.db
bus_timetable_lines.db-journal
shell@android:/data/data/de.vogella.android.locationapi.maps/databases $ cat bus
_timetable_lines.db > /sdcard/db_copy.db
bus_timetable_lines.db > /sdcard/db_copy.db <
shell@android:/data/data/de.vogella.android.locationapi.maps/databases $exit ^
exit
shell@android:/ $ exit
exit
C:\Program Files\Android\android-sdk\platform-tools>
Run Code Online (Sandbox Code Playgroud)
现在转到SDCARD目录并获取文件db_copy.db.即使这是隐藏的,但我设法通过电子邮件发送.回到Windows,我能够使用SQLite数据库浏览器打开db文件.:)
如果您的 Android 设备已通过任何方式获得 root 权限,则此方法有效(不确定是否适用于未 root 的情况)。
adb shell- 访问外壳su- 成为超级用户。您现在可以读取所有目录中的所有文件。
| 归档时间: |
|
| 查看次数: |
305284 次 |
| 最近记录: |