Ionic 5使用capacitor-community/sqlite找不到GlobalSQLite文件如何配置加密密钥
Ionic 5 集成capacitor-community/sqlite自定义加密密钥配置问题
现状说明
- 当前已可通过capacitor-community/sqlite插件完成加密数据库的创建与正常读写
- 官方文档中提到的自定义secret与newsecret配置规则(仅加密场景适用):
- iOS端需修改
Pod/Development Pods/capacitor-sqlite/GlobalSQLite.swift内的密钥默认值 - Android端需修改
capacitor-sqlite/java/com.jeep.plugin.capacitor/cdssUtils/GlobalSQLite.java内的密钥默认值,需在应用正式构建前完成更新 - Electron端需进入
YOUR_APP/electron/plugins/plugin.js-xxxx.js文件,搜索GlobalSQLite类定义,修改类内的this.secret与this.newsecret参数
- iOS端需修改
- 实际操作时,无法在文档标注的对应路径下检索到GlobalSQLite.swift、GlobalSQLite.java目标文件,文档给出的路径无法正常访问,暂无法完成自定义secret参数的配置
目标文件正确定位方法
- 找不到目标文件的核心原因:文档标注的路径是capacitor-community/sqlite插件仓库内的相对路径,并非项目原生工程的直接访问路径;插件原生文件需要在执行
npx cap sync同步命令后,才会被拷贝到对应原生平台的工程目录下- Android端操作:完成插件安装、执行
npx cap sync android同步命令后,在Android Studio中将项目视图切换为Project模式,依次展开app > src > main > java目录,顺着包路径找到com.jeep.plugin.capacitor包下cdssUtils文件夹内的GlobalSQLite.java文件即可;不要使用Android默认的Android视图检索,该视图会隐藏部分第三方插件同步进来的文件 - iOS端操作:执行
npx cap sync ios同步命令后,用Xcode打开项目目录下的ios/App/App.xcworkspace工程文件,在左侧文件导航栏的Pods分组下,找到Development Pods分类下的capacitor-sqlite子分组,即可检索到GlobalSQLite.swift文件 - 注意:直接修改同步进原生工程的插件文件存在被覆盖的风险,可后续通过Capacitor的patch机制固化修改内容,避免每次重新执行插件同步命令时自定义的密钥配置丢失
- Electron端操作:完成同步后在项目
electron目录下的插件打包产物文件中,全局搜索class GlobalSQLite关键字,即可定位到包含this.secret、this.newsecret定义的代码位置
- Android端操作:完成插件安装、执行
内容的提问来源于stack exchange,提问作者Tapas Mukherjee
相关产品推荐
相关产品推荐

