也许标题不是很清楚。这就是我的意思/需要知道的事情 -
如果我在Android应用程序上使用SQLite进行某些数据存储,我可以看到手机中创建的数据库。 (/ root / data或我猜的东西)。我查看了数据库并执行了一些操作,它有助于开发。
现在,我正在使用反应原生的AsyncStorage API。 我的代码存在一些问题,我无法从商店获取存储的数据。不确定我做错了什么。
那么,要查看错误,有没有办法查看手机上存储的对象列表?如果是这样的话?我该如何看待它?
PS:我正在使用Android Studio的日志调试我的React Native应用程序。正如我的chrome on linux is a bad boy(感谢任何帮助)!
答案 0 :(得分:6)
您可以按照以下步骤
在设备的调试模式下运行apk并将设备连接到系统
打开命令提示符。
要获取与您的应用程序相关的数据库列表,请使用以下命令
adb -d shell“run-as om.yourpackage_name ls /data/data/com.yourpackage_name/databases /
您可以从AndroidManifest.xml文件中获取包名称
adb -d shell“run-as com.yourpackage cp /data/data/com.your_package/databases/RKStorage / sdcard / Rkstorage”
adb pull / sdcard / Rkstorage
现在安装Firefox SQLite Manager:https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/
从Tools-> SQLite Manager
在SQLite管理器中,转到数据库 - >连接数据库,将打开“打开文件”窗口,在窗口底部选择所有文件并导航数据库复制的位置。
感谢。
答案 1 :(得分:5)
Android上的React Native实际上使用SQLite来备份AsyncStorage API。您的设备/模拟器上的数据库文件为/data/data/<your_app>/databases/RKStorage
。键和值存储在名为catalystLocalStorage
的表中。
答案 2 :(得分:0)
使用sqlite3 /data/data/<your_app>/databases/RKStorage .dump
查看全部内容。然后使用cp /data/data/<your_app>/databases/RKStorage /mnt/sdcard/
并使用adb pull/push
将其复制到本地设备。
答案 3 :(得分:0)
如果您正在使用react-native
并使用react-native-sqlite-storage
,则可以找到<aap-name>/android/app/src/main/assets/www/<db-named-file>
的数据库文件Android
。对于iOS
,数据库文件位置为<app-name>/ios/<app-name>/www/<db-named-file>
。