在 React Native 中使用 com.github.amitshekhariitbhu.Android-Debug-Database 库可以方便地调试 Android 端的 SQLite 数据库。以下是详细的使用指南:

1. 添加依赖

在 Android 项目的 android/app/build.gradle 文件中添加依赖(仅 debug 模式):

gradle
dependencies {
    debugImplementation 'com.github.amitshekhariitbhu:android-debug-database:1.0.6'
}

2. 同步 Gradle

在 Android Studio 中点击 "Sync Now" 或运行命令:

bash
cd android && ./gradlew clean && cd ..

3. 启动应用

在模拟器或真机上运行 React Native 应用的 debug 版本:

bash
react-native run-android

4. 访问调试界面

应用启动后,在浏览器中访问:

text
http://<设备IP>:8080
对于模拟器通常使用 http://localhost:8080 或 http://10.0.2.2:8080

对于真机请确保设备和电脑在同一网络,并使用设备的局域网 IP

5. 高级配置(可选)

修改端口号(在 AndroidManifest.xml 中添加):
xml
<meta-data
    android:name="debugDB.port"
    android:value="8080" />
启用 HTTPS(可选):
xml
<meta-data
    android:name="debugDB.ssl.enabled"
    android:value="true" />

6. 使用技巧

查看所有数据库:

页面会列出应用中的所有数据库文件(.db 和 .sqlite)

实时编辑:

可以直接在网页界面修改数据库内容,更改会实时反映到应用中

执行 SQL 命令:

提供 SQL 命令行界面执行自定义查询

导出数据库:

可以下载数据库文件到本地分析

7. 注意事项

仅限调试模式:

确保只在 debug build 中使用,不要发布到生产环境

网络权限:

确保 AndroidManifest.xml 中有网络权限:

xml
<uses-permission android:name="android.permission.INTERNET" />
React Native 特定配置:

如果使用 react-native-sqlite-storage,确保数据库路径是可访问的:

javascript
SQLite.openDatabase({
  name: 'mydb.db',
  location: 'default'  // 或 'Documents' 等可访问位置
});
兼容性:

支持 Android API 14 及以上版本

8. 替代方案

如果遇到问题,可以考虑其他调试方案:

Stetho(Facebook 的调试工具)

adb pull 手动导出数据库文件

React Native Debugger 的数据库插件

9. 常见问题解决

问题:无法连接

检查设备是否和电脑在同一网络

检查防火墙是否阻止了 8080 端口

尝试 adb forward tcp:8080 tcp:8080

问题:看不到数据库

确认数据库文件创建在可访问的位置

检查数据库文件权限是否为可读

这个工具可以极大提升 React Native 应用数据库调试的效率,特别是在处理复杂数据时非常有用
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐