gpt4 book ai didi

android - 如何在未 Root 的 android 设备上检查数据库

转载 作者:IT王子 更新时间:2023-10-28 23:33:16 26 4
gpt4 key购买 nike

我正在开发一个应用程序,我在其中使用 sqllite3 数据库来存储值。我有 Nexus S 和 Nexus 7 都是没有开启Root的设备。如何获取我的应用程序的数据库以进行调试。

我试过了(1) 我已经尝试了所有提到的方法here

adb shell
run-as app.package.name \
cp /data/data/package.name/databases/application.sqlite /sdcard/
exit
adb pull /sdcard/application.sqlite ~/

这表示 cp not found..

(2) http://developer.android.com/tools/help/adb.html#sqlite

adb -s emulator-5554 shell
# sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db
SQLite version 3.3.12
Enter ".help" for instructions
.... enter commands, then quit...
sqlite> .exit

最佳答案

以下解决方案仅适用于可调试的应用。它可能无法在所有设备上正常运行,因为 run-as 命令在某些设备上不起作用,尤其是在 Jelly Bean 上。

  1. ​创建*.bat文件并复制以下脚本​​​​

    adb shell run-as [package] chmod 777/data/data/[package]/databases/

    adb shell run-as [package] chmod 777/data/data/[package]/databases/[db_file_name]

    adb shell run-as [package] cp/data/data/[package]/databases/[db_file_name]/sdcard/

    adb pull/sdcard/[db_file_name]

  2. ​将 [package] 更改为所需的应用程序包

  3. 将 [db_file_name] 更改为所需的数据库名称运行 bat 文件并您应该在与 bat 相同的文件夹中看到复制的数据库文件

上述解决方案假设:

  • 您正在使用 Windows
  • 设备已连接并在下方可见“adb 设备”

关于android - 如何在未 Root 的 android 设备上检查数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17883447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com