没有root权限的Android系统读取Data目录下的文件

作者 admin, 2020年04月22日 16:21

« 上一篇 - 下一篇 »

admin

使用条件
app是可调试状态
在不root手机的情况下读取Data目录下的文件

1.使用adb命令时的错误
如果直接使用adb命令会产生以下错误:
程序代码 [选择]
127|shell@android:/ $ cd /data
cd /data
shell@android:/data $ ls
ls
opendir failed, Permission denied
你是没有权限的。

2.正确使用adb读取data目录下的文件方式
程序代码 [选择]
shell@android:/data $ run-as com.your.package
run-as com.your.package
shell@android:/data/data/com.your.package $ cd /data/data/com.your.package
cd /data/data/com.your.package
shell@android:/data/data/com.your.package $ ls
ls
cache
databases
lib
shared_prefs
shell@android:/data/data/com.your.package $ cd databases
cd databases
shell@android:/data/data/com.your.package/databases $ ls
yourpackagename.db
$ cat preferences.db > /mnt/sdcard/yourpackagename.db
将你要访问的package目录下的db文件拷贝到sdcard中,这样就可以正常访问了!

3.对于第三方apk
使用反编译工具反编译后在AndroidMainfest.xml加上可调试:
android:debuggable="true",再回编成apk,再安装进手机即可使用run-as。
程序代码 [选择]
<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:debuggable="true">