Mac、Android Studio、Emulator、SQLite 数据库 - 实际找到目录?
Mac, Android Studio, Emulator, SQLite database - actually find directory?
我在 Mac 上使用 Android Studio,一切都在最新版本上。假设我这样做:
SQLiteDatabase db;
db = yourAppContext.openOrCreateDatabase("db.sqlite3", Context.MODE_PRIVATE, null);
多亏了这个link:
http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/
可以在模拟器运行时准确找到保存您的实际 SQLite3 数据库 的目录:
很棒的东西。
接下来您可以单击“拉取”按钮,并将该文件拉取到 Mac 上的桌面。厉害了。
但是,您如何真正找到那个文件夹(示例中的"databases"),在您的Mac上?
即,使用普通的 shell 终端,我想 "cd" 到那里。
主机 Mac 计算机的普通 'nix 文件结构中的那个文件夹在哪里?
adb
(Android Debug Bridge) is needed to access an emulator device's filesystem via the command-line . If you don't already have it installed you can download it here。
安装后,只需使用一些命令 view/access 文件即可:
- 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
如果权限被拒绝运行 ADB 处于根模式:
adb root
更多信息:
或者您可以使用此命令拉取数据库
adb pull /data/data/com.application/databases/
例如
adb pull /data/data/com.zameen.propforce/databases/
其次,除非您的设备已 root 权限 或者您正在 使用模拟器
,否则无法访问该文件夹
如果您的设备已获得 root 权限。你通过 adb su 命令获得超级用户访问权限然后你可以去这个目录
我在 Mac 上使用 Android Studio,一切都在最新版本上。假设我这样做:
SQLiteDatabase db;
db = yourAppContext.openOrCreateDatabase("db.sqlite3", Context.MODE_PRIVATE, null);
多亏了这个link:
http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/
可以在模拟器运行时准确找到保存您的实际 SQLite3 数据库 的目录:
很棒的东西。
接下来您可以单击“拉取”按钮,并将该文件拉取到 Mac 上的桌面。厉害了。
但是,您如何真正找到那个文件夹(示例中的"databases"),在您的Mac上?
即,使用普通的 shell 终端,我想 "cd" 到那里。
主机 Mac 计算机的普通 'nix 文件结构中的那个文件夹在哪里?
adb
(Android Debug Bridge) is needed to access an emulator device's filesystem via the command-line . If you don't already have it installed you can download it here。
安装后,只需使用一些命令 view/access 文件即可:
- 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
如果权限被拒绝运行 ADB 处于根模式:
adb root
更多信息:
或者您可以使用此命令拉取数据库
adb pull /data/data/com.application/databases/ 例如 adb pull /data/data/com.zameen.propforce/databases/
其次,除非您的设备已 root 权限 或者您正在 使用模拟器
,否则无法访问该文件夹如果您的设备已获得 root 权限。你通过 adb su 命令获得超级用户访问权限然后你可以去这个目录