返回

Flutter 添加 sqflite 运行失败?快速解决这些故障

Android

Flutter 应用添加 sqflite 后运行失败的故障排除

问题概述

当你向 Flutter 项目中添加 sqflite 依赖时,可能会遇到运行错误。错误消息通常如下所示:

错误:构建失败并出现异常。

* 问题:
执行任务 ':sqflite:parseDebugLocalResources' 失败。
> 无法解析所有配置 ':sqflite:androidApis' 的文件。
> 无法转换 android.jar 以匹配属性 {artifactType=android-platform-attr, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}。
> PlatformAttrTransform 的执行失败:C:\Users\theak\AppData\Local\Android\sdk\platforms\android-33\android.jar。
> C:\Users\theak\AppData\Local\Android\sdk\platforms\android-33\android.jar

解决方案

解决此问题的步骤如下:

  1. 更新 Android SDK 和 Gradle 版本: 确保你的 Android SDK 和 Gradle 版本是最新的。
  2. 运行 Gradlew clean: 在终端或命令提示符中,转到项目目录并运行以下命令:./gradlew clean
  3. 配置 Gradle 文件:android/build.gradle 文件中,添加以下内容:
buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.3.0'
    }
}
  1. 更新 sqflite 依赖:pubspec.yaml 文件中,将 sqflite 依赖版本更新到最新版本(目前为 2.2.2):
dependencies:
  sqflite: ^2.2.2
  1. 重新运行应用: 完成更新后,重新运行 Flutter 应用。

额外提示

  • 如果上述步骤无法解决问题,请尝试使用不同的 Android SDK 版本。
  • 检查你的项目是否存在其他错误或警告,并相应地解决它们。
  • 查看 sqflite 官方文档 以获取更多故障排除建议。

常见问题解答

1. 我仍然收到相同的错误,即使我更新了依赖和运行了 gradlew clean

尝试完全重启 Android Studio 并重新运行应用。

2. 我正在使用 Android Studio Arctic Fox,为什么我的 build.gradle 文件中没有 buildscript 块?

在 Arctic Fox 及更高版本中,buildscript 块已被 plugins 块取代。确保你的文件包含以下内容:

plugins {
    id 'com.android.tools.build:gradle' version '7.3.0'
}

结论

通过遵循这些步骤,你可以解决在 Flutter 应用中添加 sqflite 依赖时遇到的运行问题。通过不断更新依赖、清理 Gradle 缓存和配置 Gradle 文件,你可以确保项目正常运行。