uniapp 在hbuilderx 打包时未添加sqlite如何解决?

我在使用HBuilderX打包uniapp项目时,发现没有自动添加SQLite插件,导致应用无法使用本地数据库功能。请问该如何手动添加SQLite支持?需要在哪个配置文件中修改,还是需要通过其他方式引入?求详细的操作步骤。

2 回复

在HBuilderX中打包时若未添加SQLite,需在manifest.json的“App模块配置”中勾选SQLite模块,重新打包即可。


在 UniApp 中,如果打包时未添加 SQLite 插件,可以通过以下步骤解决。SQLite 是移动端本地数据库功能,需在打包前配置。

解决步骤:

  1. 检查项目配置

    • 确保项目使用 uni-app 的 SQLite API(如 uni.openDatabase)。SQLite 仅支持 App 平台(iOS/Android),H5 或小程序不支持。
    • 在代码中,正确使用 SQLite 方法。例如:
      const db = uni.openDatabase({
        name: 'testDB',
        version: '1.0',
        description: 'Test database',
        size: 2 * 1024 * 1024 // 2MB
      });
      db.transaction(tx => {
        tx.executeSql('CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, name TEXT)');
      });
      
  2. 在 HBuilderX 中添加 SQLite 模块

    • 打开项目,进入 manifest.json 文件。
    • 切换到 App 模块配置 选项卡。
    • 模块权限配置 中,勾选 SQLite 模块(通常在“功能模块”或“Persistence”类别下)。
    • 保存 manifest.json 文件。
  3. 重新打包

    • 完成配置后,在 HBuilderX 中选择 发行 -> 原生 App-云打包(或本地打包)。
    • 确保选择正确的平台(iOS/Android),然后打包。云打包会自动包含 SQLite 支持。
  4. 验证

    • 安装打包后的 App,测试 SQLite 功能是否正常。如果仍报错,检查代码或重新打包。

注意事项:

  • 仅 App 平台支持 SQLite;H5 或小程序需使用其他存储方案(如 localStorage)。
  • 如果使用第三方 SQLite 插件(如 cordova-sqlite-storage),需通过 HBuilderX 的“原生插件”配置添加。
  • 云打包时,确保网络稳定,避免模块未正确注入。

按照以上步骤操作,即可解决打包时未添加 SQLite 的问题。如果问题持续,检查 HBuilderX 版本或重启 IDE。

回到顶部