我在 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 文件结构中,该文件夹在哪里?
最佳答案
adb
(Android 调试桥)需要通过命令行访问模拟器设备的文件系统。如果您还没有安装它,您可以 download it here .
安装后,只需使用一些命令来查看/访问文件即可:
- Open
Terminal.app
.- Execute
adb devices
(this should list your current emulator devices).- Connect to the emulator device with
adb shell
.- Change directory
cd
to the folder where your app databases are.- Type
ls
to see which database files are present.
在终端中它看起来像这样:
列出模拟器设备:
$ 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
更多信息:
关于android - Mac、Android Studio、Emulator、SQLite 数据库——实际找到目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41498046/