尝试使用 Flutter 数据库时,Flutter 构建始终失败

问题描述 投票:0回答:1

我正在学习 Flutter,并专注于数据库,但一直无法使用它们。 添加 Isar 和 ObjectBox 数据库的依赖项后出现错误,但 Hive 似乎可以工作。 将数据库依赖项添加到我的 pubspec.yaml 后,我无法再运行我的项目而不会出现如下错误:

任务“:objectbox_flutter_libs:parseDebugLocalResources”执行失败。

无法解析配置“:objectbox_flutter_libs:androidApis”的所有文件。 无法转换 android.jar 以匹配属性 {artifactType=android-platform-attr, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}。 > PlatformAttrTransform 执行失败:C:\Users\REDACTED\AppData\Local\Android\sdk\platforms ndroid-31 ndroid.jar。 > C:\Users\REDEACTED\AppData\Local\Android\sdk\platforms ndroid-31 ndroid.jar

我按照快速入门指南添加依赖项,并将它们放置在 pubspec 中的正确标题下并执行 Flutter Pub Get。从那时起,即使我继续使用构建运行程序创建数据库实体/类并设置数据库,我也会收到上述错误(我认为这可能是最初的原因)。

依赖关系:

flutter:
    sdk: flutter

  cupertino_icons: ^1.0.8
  objectbox: ^4.0.2
  objectbox_flutter_libs: any

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter_lints: ^4.0.0
  build_runner: ^2.4.13
  objectbox_generator: any

我搜索了解决方案,发现了很多关于 android SDK 和 Java 的解决方案。

我安装了 android studio,并尝试通过 android studio 更改和重新加载 android SDK 和 Java 版本,因为 Gradle 设置为通过包装器构建。

对于 Java,当尝试使用不同的 Java 版本时,我已将 JAVA_HOME 环境变量以及 android studio 中的 Java 版本设置为相同的位置。

我安装并尝试过的JDK版本包括17.0.12、19.0.2和21.0.3,对错误没有影响。

我已经检查了 Isar 和 ObjectBox 的依赖版本,以确保它们是最新的(我没有在一个项目中同时使用两者)。 我的 Dart、Flutter、Git、VS Code 和 Android Studio 安装都是最新的。

我安装了 android 12、14、15 SDK。安装命令行工具和SDK平台工具。 Flutter 版本 3.24.3、Dart 3.5.3、Devtools 2.37.3。 Android Studio 瓢虫。 Gradle 是 Android studio gradle 8.7.0。

Flutter doctor 仅针对 chrome 给出错误(我没有安装 chrome)。

我已经按照安装指南有效安装和使用了 Android studio、VS Code、Flutter/Dart,并且在尝试使用数据库(Isar 或 ObjectBox)时使用了它们的指南。

我无法找到这个特定问题的答案,非常感谢您的意见。

还有其他明显我忽略的事情吗?

flutter-dependencies flutter-objectbox flutter-isar
1个回答
0
投票

该错误表明 Android SDK 存在问题:

Execution failed for PlatformAttrTransform: C:\Users\REDACTED\AppData\Local\Android\sdk\platforms\android-31\android.jar.

您说您已尝试“重新加载android SDK”。您能否仔细检查一下您是否按照相关 Flutter 问题中的建议进行了操作

  • 所以在Android SDK Manager中取消选中Android S SDK(API Level 31),然后应用,
  • 验证文件夹是否已消失,
  • 然后再次检查并申请?
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.