我也遇到了很多麻烦。我仍然不完全理解权限和根目录运行,但这对我(前面的部分答案之一)有效,可以从/data/data/[package name]/databases/my_db.db复制数据库文件。运行
壳根
或
苏
在shell中,由于某种原因无法工作,也没有复制db文件(不过我可以导航到目录),也没有
平方英寸3
.
所以,这奏效了!在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>
现在转到sdcard目录并获取文件db_copy.db。即使那是隐藏的,但我还是设法通过电子邮件发送了。回到Windows,我可以用SQLite数据库浏览器打开数据库文件。:)