CapacitorSQLitePlugin报错:Protocol message contained an invalid tag (zero)
解决CapacitorSQLitePlugin报错:Protocol message contained an invalid tag (zero)
清理Android构建缓存
- 在Android Studio里点
Build->Clean Project - 再点
Build->Rebuild Project - 手动删掉项目根目录下的
android/build和android/app/build文件夹,重新构建
- 在Android Studio里点
检查插件版本兼容性
确认@capacitor/core和@capacitor-community/sqlite版本匹配,比如core是5.x的话,sqlite插件也要用5.x分支。在项目根目录执行:npm list @capacitor/core @capacitor-community/sqlite版本不匹配就升级/降级到兼容版本,然后同步:
npx cap sync android排查新增页面的SQLite代码
检查新增页面里的SQLite操作有没有问题:- 是不是没初始化数据库就直接执行操作
- 有没有传格式错误的参数(比如空对象、未定义的值)给SQLite方法
- 异步操作里有没有未处理的异常,导致插件通信的数据损坏
重置Capacitor Android项目
前面的步骤都没用的话,试试重新生成Android项目文件:npx cap add android npx cap sync android记得备份好android目录里的自定义配置,比如签名文件、修改过的AndroidManifest.xml
检查混淆配置
如果开了ProGuard/R8混淆,要确保SQLite插件的类没被误混淆。在android/app/proguard-rules.pro里添加:-keep class com.getcapacitor.community.sqlite.** { *; } -keep class com.getcapacitor.** { *; }
内容的提问来源于stack exchange,提问作者Tendai karuma
相关产品推荐
相关产品推荐

