Не удалось создать новый компоновочный проект в студии Android фламинго

Сегодня утром я обновил свою студию Android до последней версии фламинго, так как я не могу создать новый проект компоновки, получая следующую ошибку

No matching variant of com.android.tools.build:gradle:8.0.0 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.0'

но: - Возможность варианта «apiElements» com.android.tools.build:gradle:8.0.0 объявляет библиотеку, упакованную в виде jar, и ее зависимости, объявленные извне: - Несовместимо, поскольку этот компонент объявляет компонент для использования во время компиляции, совместимый с Java 11, а потребителю нужен компонент для использования во время выполнения, совместимый с Java 8.

** Уровень моего приложения **

        plugins {
        id 'com.android.application'
        id 'org.jetbrains.kotlin.android'
    }
    
    android {
        namespace 'com.abc.myflamingotestapp'
        
    compileSdk 33
    
        defaultConfig {
            applicationId "com.abc.myflamingotestapp"
            minSdk 24
            targetSdk 33
            versionCode 1
            versionName "1.0"
    
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
            vectorDrawables {
                useSupportLibrary true
            }
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
        kotlinOptions {
            jvmTarget = '1.8'
        }
        buildFeatures {
            compose true
        }
        composeOptions {
            kotlinCompilerExtensionVersion '1.3.2'
        }
        packagingOptions {
            resources {
                excludes += '/META-INF/{AL2.0,LGPL2.1}'
            }
        }
    }
    
    dependencies {
    
        implementation 'androidx.core:core-ktx:1.8.0'
        implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
        implementation 'androidx.activity:activity-compose:1.5.1'
        implementation platform('androidx.compose:compose-bom:2022.10.00')
        implementation 'androidx.compose.ui:ui'
        implementation 'androidx.compose.ui:ui-graphics'
        implementation 'androidx.compose.ui:ui-tooling-preview'
        implementation 'androidx.compose.material3:material3'
        testImplementation 'junit:junit:4.13.2'
        androidTestImplementation 'androidx.test.ext:junit:1.1.5'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
        androidTestImplementation platform('androidx.compose:compose-bom:2022.10.00')
        androidTestImplementation 'androidx.compose.ui:ui-test-junit4'
        debugImplementation 'androidx.compose.ui:ui-tooling'
        debugImplementation 'androidx.compose.ui:ui-test-manifest'
}

** Оболочка Gradle **

#Mon Apr 17 20:26:41 IST 2023
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

** Gradle верхнего уровня **

// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '8.0.0' apply false
    id 'com.android.library' version '8.0.0' apply false
    id 'org.jetbrains.kotlin.android' version '1.5.31' apply false
}

возникает эта проблема при попытке сборки, если кто-то еще сталкивался с той же проблемой, пожалуйста, помогите или предложите что-нибудь.

Я также столкнулся с такими проблемами после обновления Android Studio. Ошибка связана с версией вашего плагина, которая равна 8.0.0. Может просто баг. Не уверен. Но то, что вы можете попробовать, это перейти в файл build.gradle для вашего проекта. В зависимостях найдите строку, в которой указана версия плагина com.android.tools.build:gradle. Вы можете изменить его на другую версию, например classpath 'com.android.tools.build:gradle:7.0.4'. Посмотрите, работает ли это. Если не помогло, попробуйте изменить версию других зависимостей.

Ali.M 17.04.2023 17:41

Нет, все еще не работает

Danial clarc 18.04.2023 07:31
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
2
995
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Поскольку вы используете Android API уровня 33, Java 11 доступна через дешугаринг.

Теперь вы можете изменить исходную и целевую совместимость на Java 11:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_11
    targetCompatibility JavaVersion.VERSION_11
}

kotlin {
    jvmToolchain(11)
}

Если вы не хотите менять совместимость с версией 11 и оставаться в 1.8, вы можете удалить сахар:

сначала обновите Gradle до 8.0.0 (не ниже 4.0.0), изменив build.gradle.kts:

plugins {
    id("com.android.application") version "8.0.0" apply false
    id("com.android.library") version "8.0.0" apply false
    id("org.jetbrains.kotlin.android") version "1.5.31" apply false
}

или модифицируя build.gradle:

plugins {
    id 'com.android.application' version '8.0.0' apply false
    id 'com.android.library' version '8.0.0' apply false
    id 'org.jetbrains.kotlin.android' version '1.5.31' apply false
}

как показано в https://developer.android.com/build/releases/gradle-plugin#updating-plugin

Затем удалите сахар, изменив файл build.gradle.kts модуля вашего приложения:

android {
    defaultConfig {
        // Required when setting minSdkVersion to 20 or lower
        multiDexEnabled = true
    }

    compileOptions {
        // Flag to enable support for the new language APIs

        // For AGP 4.1+
        isCoreLibraryDesugaringEnabled = true
        // For AGP 4.0
        // coreLibraryDesugaringEnabled = true

        // Sets Java compatibility to Java 8
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.2.2")
}

или ваш файл build.gradle Groovy:

android {
    defaultConfig {
        // Required when setting minSdkVersion to 20 or lower
        multiDexEnabled true
    }

    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2'
}

как показано в https://developer.android.com/studio/write/java8-support#library-desugaring.

Помните, что вам нужно удалить аргумент -XX:MaxPermSize=1024m jvmargs в файле gradle.properties, чтобы избежать ошибки.

Никакое добавление Desugaring не имело значения, по-прежнему возникала та же проблема, я думаю, что есть какая-то ошибка android studio flamingo.

Danial clarc 18.04.2023 07:37

Я столкнулся с похожей проблемой

Я изменил build.gradle(Project: MyProject) на

plugins {
    id 'com.android.application' version '7.3.1' apply false
    id 'com.android.library' version '7.3.1' apply false
    id 'org.jetbrains.kotlin.android' version '1.8.10' apply false
    id 'org.jetbrains.kotlin.jvm' version '1.8.10' apply false
}

Измените kotlinCompilerExtensionVersion в build.gradle(Module: app) на

composeOptions {
                kotlinCompilerExtensionVersion '1.4.3'
            }

И обновите Gradle JDK до openJDK-19 (любая версия 11 и выше). Скриншот настроек

Для меня изменение только версии Java в файле build.gradle не сработало. Поэтому я изменил его в настройках Gradle.

Перейдите к File -> Project Structure -> SDK Location -> Gradle Settings измените Gradle JDK на 17.

Нажмите OK и измените compileOptions и kotlinOptions на ту же версию в build.gradle(Module:app):

compileOptions {
    sourceCompatibility JavaVersion.VERSION_17
    targetCompatibility JavaVersion.VERSION_17
}

kotlinOptions {
    jvmTarget = '17'
}

Другие вопросы по теме