另一个 Android Gradle 插件仅支持 Kotlin Gradle 插件版本 1.5.20 及更高版本

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

我发现了很多关于此错误的讨论,但我无法修复它。
我有一个 flutter 项目,构建为 Android 和 iOS。我刚刚从 3.7.10 升级到 3.19.0,并且正在升级 pubspec 库:

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  flutter_svg: ^2.0.10+1
  provider: ^6.0.5
  qr_flutter: ^4.1.0
  polygon: ^0.1.0
  http: ^1.1.0
  shared_preferences: ^2.2.1
  url_launcher: ^6.1.14
  intl: ^0.18.1
  collection: ^1.17.2
  add_2_calendar: ^3.0.1
  text_scroll: ^0.2.0
  ory_client: ^1.2.11
  webview_flutter: ^4.7.0
  get_it: ^7.6.7
  injectable: ^2.3.2
  dio: ^5.3.3
  one_of: ^1.5.0
  flutter_web_auth: ^0.5.0
  flutter_libphonenumber: ^2.1.5
  flutter_widget_from_html: ^0.14.11

dev_dependencies:
  flutter_test:
    sdk: flutter
  injectable_generator: ^2.4.1
  build_runner: ^2.4.6
  flutter_lints: ^3.0.1

build.gradle:

buildscript {
    ext.kotlin_version = '1.7.21'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:8.1.4'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }

    subprojects {
        afterEvaluate { project ->
            if (project.hasProperty('android')) {
                project.android {
                    if (namespace == null) {
                        namespace project.group
                    }
                }
            }
        }
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

当我尝试运行或构建项目时,出现以下错误:

* What went wrong:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':wakelock' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2s
Error: Gradle task assembleDebug failed with exit code 1

我认为问题在于 iOS 依赖项唤醒锁,但如果我看一下它的 gradle,我发现

ext.kotlin_version = '1.6.10'

如果在 Android Studio 中我执行

CTRL + SHIFT + F
并查找所有
ext.kotlin_version
,所有都大于 1.3.50。

我已经完成了

flutter clean
flutter pub get

这个没有帮助,这个也没有帮助。

怎么了?

android flutter kotlin gradle wakelock
1个回答
0
投票

问题是,由于

wakelock
中存在另一个库,所以
pubspec.yaml
被包含为依赖项,最低要求是一个非常旧的版本,它与旧的 gradle 版本一起运行。为了解决这个问题,我需要添加一个更新的版本,即使我不直接使用它。添加
wakelock: ^0.6.2
解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.