我在Mac上使用Android Studio,所有内容都在最新版本上。说我这样做:
SQLiteDatabase db;
db = yourAppContext.openOrCreateDatabase("db.sqlite3", Context.MODE_PRIVATE, null);
感谢此链接:
http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/
在运行模拟器时,可以准确找到保存您的实际SQLite3数据库的目录:
好东西。
接下来,您可以单击“拉”按钮,然后拉出该文件以在Mac上说出您的桌面。真棒。
但是,您如何在Mac上找到字面上的文件夹(示例中为“数据库”),?
即,使用普通的shell终端,我想“cd”到那里。
该文件夹在哪里,在主机Mac计算机的普通'nix文件结构中?
答案 0 :(得分:12)
adb
(Android Debug Bridge)才能通过命令行访问仿真器设备的文件系统。如果您尚未安装它,则可以download it here。
安装后,只需使用一些命令即可查看/访问文件:
- 打开
Terminal.app
。- 执行
adb devices
(这应列出您当前的模拟器设备)。- 使用
连接到仿真器设备adb shell
。- 将目录
cd
更改为您的应用数据库所在的文件夹。- 键入
醇>ls
以查看存在哪些数据库文件。
在终端中,它看起来像这样:
列出模拟器设备:
$ adb devices
List of devices attached
emulator-5554 device
使用adb shell
:
$ adb -s emulator-5554 shell
将目录 (cd
)更改为SQLite3
数据库位置(包名称通常为com...
):
adb shell
$ cd /data/data/<your app package name>/databases/
列出databases
目录中的文件:
adb shell
$ ls
db.sqlite3
这真的是它的基础!也可以push/pull
将文件从模拟器(远程)复制到(本地)文件系统:
adb pull /data/data/com.yourpackagename.app/databases/db.sqlite3 /local/save/path
如果拒绝权限,则以root模式运行ADB:
adb root
更多信息:
答案 1 :(得分:2)
或者您可以使用此命令提取数据库
adb pull /data/data/com.application/databases/ 例如 adb pull /data/data/com.zameen.propforce/databases /
其次,除非您的设备 rooted 或使用模拟器
,否则无法访问该文件夹如果您的设备已植根。您可以通过adb su命令获得超级用户访问权限,然后您可以转到此目录