Я пытаюсь добавить зависимости в Flutter, но каждый раз при попытке запустить Android-версию получаю ошибку.

Вопрос или проблема

Когда я запускаю своё приложение, я получаю следующее:

* Что пошло не так:
Не удалось выполнить задание ':shared_preferences_android:compileDebugJavaWithJavac'.
> Не удалось разрешить все файлы для конфигурации ':shared_preferences_android:androidJdkImage'.
   > Не удалось преобразовать core-for-system-modules.jar, чтобы соответствовать атрибутам {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Не удалось выполнить JdkImageTransform: C:\Users\Victus\AppData\Local\Android\sdk\platforms\android-34\core-for-system-modules.jar.
         > Ошибка при выполнении процесса C:\Program Files\Android\Android Studio\jbr\bin\jlink.exe с аргументами {--module-path C:\Users\Victus\.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\temp\jmod --add-modules java.base --output C:\Users\Victus\.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\jdkImage --disable-plugin system-modules}

* Попробуйте:
> Запустите с опцией --stacktrace, чтобы получить трассировку стека.
> Запустите с опцией --info или --debug, чтобы получить больше информации в логах.
> Запустите с опцией --scan, чтобы получить полные данные.
> Получите дополнительную помощь на https://help.gradle.org.

СБОРКА НЕ УДАЛАСЬ за 7 секунд

Это происходит не только с этим, но и с любыми другими зависимостями, такими как alarm_manager_plus.
Это мой файл build.gradle

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

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

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

Это файл gradle-wrapper.properties:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip

Я не знаю, что делать. Я зашёл в структуру проекта и установил настройку Android SDK на Android API 35, а для настройки Уровень языка поставил 23 - комментарии документации Markdown. Это не сработало.

В принципе, вам нужно это в app\build.gradle:

compileOptions {
  sourceCompatibility JavaVersion.VERSION_17
  targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
  jvmTarget = 17
}

Это в settings.gradle:

id "com.android.application" version "8.3.2" apply false
id "org.jetbrains.kotlin.android" version "2.0.20" apply false


И это в gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip

Ответ или решение

Для решения вашей проблемы с зависимостями в Flutter и ошибками сборки в Android, давайте рассмотрим несколько шагов, которые могут помочь устранить возникшие ошибки. Ошибка, с которой вы столкнулись, связана с компиляцией некоторых зависимостей и конфигурацией окружения разработки.

  1. Обновите версии Gradle и плагинов: Убедитесь, что вы используете актуальные версии Gradle и соответствующих плагинов. В вашем файле build.gradle убедитесь, что вы указали правильную версию плагинов. Например:

    plugins {
       id "com.android.application" version "8.3.2" apply false
       id "org.jetbrains.kotlin.android" version "2.0.20" apply false
    }
  2. Настройте Java Compatibility: В файле app/build.gradle добавьте следующие настройки для обеспечения совместимости с Java 17:

    android {
       ...
       compileOptions {
           sourceCompatibility JavaVersion.VERSION_17
           targetCompatibility JavaVersion.VERSION_17
       }
       kotlinOptions {
           jvmTarget = '17'
       }
    }
  3. Обновите gradle-wrapper.properties: Убедитесь, что вы используете последнюю версию Gradle в вашем gradle-wrapper.properties. Например:

    distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
  4. Проверьте настройки SDK и NDK: Убедитесь, что у вас установлены все необходимые компоненты Android SDK и NDK. Для этого откройте Android Studio и перейдите в File > Project Structure > SDK Location, убедитесь, что пути к Android SDK и NDK указаны корректно, и что у вас установлены необходимые версии Android API.

  5. Очистка кэша: Попробуйте очистить кэш и временные файлы Gradle, чтобы избежать конфликтов. В командной строке выполните:

    ./gradlew clean

    Или в Android Studio используйте опцию "Invalidate Caches / Restart".

  6. Обновление зависимостей: Убедитесь, что все зависимости вашего проекта обновлены до последних версий. Проверьте pubspec.yaml и убедитесь, что вы используете совместимые версии.

  7. Запуск с дополнительными флагами: Если ошибка продолжает возникать после всех изменений, попробуйте запустить сборку с дополнительными флагами для получения более детальной информации об ошибках:

    ./gradlew build --info --debug

Эти шаги должны помочь вам разрешить проблемы с зависимостями в вашем проекте Flutter. Убедитесь, что вы внимательно следуете всем инструкциям и проверяете каждый шаг. Если после всех попыток проблема не будет решена, не стесняйтесь обратиться за помощью на форумы сообщества Flutter или Stack Overflow, предоставив подробную информацию о вашей конфигурации.

Оцените материал
Добавить комментарий

Капча загружается...