【问题标题】:Android Cannot see anything inside data folderAndroid 在数据文件夹中看不到任何内容
【发布时间】:2012-08-13 13:40:33
【问题描述】:

我试图以任何可能的方式查看 SQLite 数据库(我有一个根设备)。我在 Eclipse 中尝试了文件资源管理器,但在数据文件夹下看不到任何内容。有人可以帮我解决这个问题吗 我试图到处搜索,但找不到明确的解决方案。 我也尝试了 adb shell,但我无法使用“ls”命令查看数据文件夹中的内容列表。 错误 打开目录失败。权限被拒绝

我猜这与权利有关,但我该如何解决它

请帮忙

【问题讨论】:

  • 您是否尝试使用模拟器或设备查看数据库?

标签: android database sqlite adb


【解决方案1】:

您需要 root 权限才能浏览 DATA 目录... From phone 我使用terminal emulator 来完成这项工作.....只需打开terminal 然后输入su 之后它会要求前提。那么你需要输入cd data/data/WhereEverYouNeedToGo/databases"WhereEverYouNeedToGo" 应该是包名。之后,您可以对数据库做任何您想做的事情。

from PC

打开terminalcmd 转到您的adb 目录然后运行adb shell 然后su 然后
cd data/data/WhereEverYouNeedToGo/databases

希望对您有所帮助。

【讨论】:

  • 从 adb 会话中进行所有输入可能比在设备终端上更方便。但是,如果您在远离笔记本电脑/台式机时发现令人费解的问题,在设备上执行此操作可能更有意义。
【解决方案2】:

使用“adb root”以root模式运行adb

【讨论】:

    【解决方案3】:
    adb shell
    su
    ls /data/
    

    试试这个

    【讨论】:

      【解决方案4】:

      您已经获得了许多关于如何利用 root 功能的答案,但是由于 android 的设计没有假设 root,因此您在开发应用程序时也可以使用其他方法。

      1) 在专家菜单中包含将数据库复制到 SD 卡的功能;在 android java 中没有文件复制方法(在大多数股票情况下没有 'cp' shell 命令),但您可以通过复制例程在这里找到许多答案。

      2) 使您的 apk 可调试并使用 run-as 命令获取以应用程序用户 ID 运行并在应用程序的数据目录中启动的 shell。然后,如果应用程序具有该权限,您可以将数据库复制到 sdcard。

      3) 让您的应用在开发过程中将数据库文件的权限设置为全球可读。虽然您无法浏览目录树,但您可以通过提供数据库文件的完整路径名来 adb 拉取数据库文件。

      【讨论】:

        【解决方案5】:

        您需要有路由设备,或者您的设备应该是“Android Dev Phone”才能浏览该目录。尝试使用模拟器检查相同的内容,您将能够看到数据文件夹的内容。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-04-11
          • 1970-01-01
          • 1970-01-01
          • 2013-07-05
          • 2019-04-13
          • 1970-01-01
          • 1970-01-01
          • 2022-01-03
          相关资源
          最近更新 更多