opendir failed, Permission denied

使用adb命令时的错误
如果直接使用adb命令会产生以下错误:
[plain] view plaincopy

127|shell@android:/ $ cd /data
cd /data
shell@android:/data $ ls
ls
opendir failed, Permission denied

你是没有权限的。
正确使用adb读取data目录下的文件方式
[plain] view plaincopy

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中,这样就可以正常访问了!
找到文件,使用cat命令查看(SetTopBox上的很多linux命令都被禁用了,尤其是权限命令),发现都是乱码,于是想从SetTopBox导出到pc上来看,两种方式,一使用adb pull,二使用Eclipse的File Explorer工具。
推荐一个sqlite可视化的工具:SQLite expert,非常好用。(SQLite Expert Professional(SQLite可视化管理工具)V3.4.34.2256特别版)

推荐阅读更多精彩内容