android - Mac、Android Studio、Emulator、SQLite 数据库——实际找到目录?

标签 android android-studio android-emulator android-device-monitor

我在 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 数据库的目录:

enter image description here

很棒的东西。

接下来,您可以单击“拉取”按钮,然后拉取该文件以表示您在 Mac 上的桌面。太棒了。

但是,您如何在您的 Mac 上真正找到那个文件夹(示例中的“数据库”)?

即,使用普通的 shell 终端,我想“cd”到那里。

在主机 Mac 计算机的普通 'nix 文件结构中,该文件夹在哪里?

最佳答案

adb (Android 调试桥)需要通过命令行访问模拟器设备的文件系统。如果您还没有安装它,您可以 download it here .

安装后,只需使用一些命令来查看/访问文件即可:

  1. Open Terminal.app.
  2. Execute adb devices (this should list your current emulator devices).
  3. Connect to the emulator device with adb shell .
  4. Change directory cd to the folder where your app databases are.
  5. 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/

相关文章:

Android:透明 Activity 的问题

安卓工作室 : Failure [INSTALL_FAILED_OLDER_SDK]

android - Google 是否停止支持 Android Eclipse 插件?

android - 我在 android studio 中遇到模拟器错误

android - 实现 View.IOnTouchListener 接口(interface)

android - Dagger 2.15 : Appcomponent - was unable to process this interface

java - 从 Jenkins 运行 Android 模拟器以使用 Robotium 运行 Junit 测试

android - 三星银河模拟器?

java - Android Parcelable接口(interface)在哪里强制执行CREATOR对象

android - 在抽屉导航中打开另一个 Activity 时应用程序崩溃