Android Studio - не удалось уведомить об ошибке прослушивателя оценки проекта


89

Ниже приведен код build.gradle в Android Studio.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.sg.blahblah"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    lintOptions {
        checkReleaseBuilds true
        abortOnError false
        xmlReport true
        htmlReport true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            lintOptions {
                disable 'MissingTranslation'
            }
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.android.support:cardview-v7:23.1.1'
    compile 'com.google.android.apps.dashclock:dashclock-api:+'
    compile 'com.roughike:bottom-bar:1.4.0.1'
    compile 'com.diogobernardino:williamchart:2.2'
}

Я получаю следующую ошибку: Ошибка: возникла проблема при настройке проекта ": приложение".

Не удалось уведомить слушателя оценки проекта. com.android.build.gradle.tasks.factory.AndroidJavaCompile.setDependencyCacheDir (Ljava / io / File;) V

Кто-нибудь может помочь?

Ниже приведен снимок экрана Instant Run. введите описание изображения здесь


Какая у вас версия студии Android ??
— Арпит Патель

Вы попробуете мой ответ, его работа или нет? А версия AndroidStudio?
— Арпит Патель

Версия Android Studio 2.3
— userash

Я не могу снять флажок "Включить мгновенный запуск". Я добавил скриншот
— усераш

2
Перезагрузите студию Android и снова проверьте, не работает ли она, а затем обновите AndroidStudio 2.3
— Arpit Patel

Ответы:


36

Я столкнулся с такой же ошибкой до того, как через неделю я решу, отключив Instant Run

Файл → Настройки → Сборка, выполнение, развертывание → Мгновенный запуск и снимите флажок Включить мгновенный запуск.

Надеюсь, что это работает.

Примечание. Этот ответ работает на Android Studio 3 ниже.


2
Я пытаюсь построить gradle из CMD и привел к вышеуказанной ошибке, ответ @colibrow сработал для меня.
— Banee Ishaque K

16
Опция отключена
— Pratik Butani 04

Здесь не сработало. Вздох. Ковыряться в конфиге AS.
— InI4

3
Для меня нет опции Instant Run в Build, Execution, Deployment.
— Андор Немет

63

У меня тоже эта проблема. Исправляю Изменением build.gradleв проекте

+ Изменить

dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
}

А также меняю distributionUrlв gradle-wrapper.properties (глобальная версия)

distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip

И добился успеха.


1
Благодаря! Думаю, общий урок здесь состоит в том, чтобы сначала узнать, какая версия плагина сборки Android у вас установлена ​​:)
— Кенни Уорден

2
@KennethWorden, как это узнать?
— HomeMade 09

1
@HomeMade, если я не ошибаюсь, вы сможете проверить настройки Android Studio,
— Кенни Уорден,

22

Я также столкнулся с этой ошибкой при обновлении до 'com.android.tools.build:gradle:3.0.0'

Чтобы исправить это, мне пришлось добавить google()репозиторий как в buildscript, так и в репозитории модулей. В документации здесь упоминается только добавление к скрипту сборки.

Build.gradle на уровне проекта

buildscript {
    repositories {
        ...
        // You need to add the following repository to download the
        // new plugin.
        google()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

Build.gradle на уровне приложения

repositories {
    ...
    // Documentation doesn't specify this, but it must be added here
    google()
}

gradle-wrapper.properties

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

22

вам нужно проверить версию Gradle. gradle -v

тогда вы должны знать свою версию Gradle и совместимую с версией плагина Gradle.

Пример:

gradle 4.6 несовместим с плагином Gradle 2.2.

поэтому необходимо обновить версию com.android.tools.build:gradle до 2.3.3 .

то вам нужно проверить gradle / wrapper / gradle-wrapper.properties distributionUrl версию gradle

Плагин google Android для Gradle Примечания к выпуску

введите описание изображения здесь

с другой стороны

при использовании более новой версии плагина может потребоваться обновить Android Studio

спасибо @antek


Я бы расширил этот ответ, чтобы также отметить, что для использования более новой версии плагина может потребоваться обновить Android Studio
— Antek

Это правильный ответ. Проблемы, похоже, вызваны несоответствием между версией gradle, версией com.android.tools.build:gradle (плагин android gradle) и версией IDE. По моему опыту, обновление этих версий как можно ближе к последней - лучшая стратегия.
— Фаррух Наджми

Это правильный ответ. когда я использую совместимую версию, упомянутую в документе, это сработало как по волшебству .. спасибо, человек
— Сидег Мохаммед

Это было для меня корнем решения. Я нашел это обсуждение полезным для фактического обновления плагина Gradle .
— Zac

8

В моем случае проблема с Wi-Fi. убедитесь, что у вас действующее интернет-соединение


1
Хороший улов, я использовал автономный режим.
— M. Reza Nasirloo

Спасибо, пользовался VPN.
— Ishita Sinha

7

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

./gradlew build --stacktrace

5

Это ни точный ответ на вопрос, ни серебряная пуля. Однако, если у вас ничего не работает, например, недействительный кеш и перезапуск, проверка зависимости сборки, отключение мгновенного запуска (я никогда этого не советую) и т. Д.

  1. Добавьте параметр командной строки --stacktraceв Настройки> Сборка, Выполнение, Развертывание> Компилятор
  2. Теперь соберите / соберите Gradle еще раз. Вы получите подробную информацию о причине. например, в моем случае:

Вызвано: org.gradle.internal.resolve.ModuleVersionNotFoundException: не удалось найти com.squareup.okhttp3: logging-interceptor: 3.9.1Net.

Я неправильно написал имя зависимости в файле градиента уровня модуля. Надеюсь, что поможет


4

Проблема, вероятно, в том, что вы используете версию Gradle, а не 3. перейдите в gradle / wrapper / gradle-wrapper.properties и измените последнюю строку на это:

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

4

В моем случае я решил эту ошибку только путем аннулирования кешей .

Файл> Недействительные кеши / перезапуск


3

Для тех из вас, кто работает в команде:

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


2

Обычно это зависит от Instant run или Gradle, но я пробовал оба варианта, и мне ничего не помогло. Потом просмотрел idea.logи увидел эту ошибку

Caused by: java.lang.RuntimeException: A conflict was found between the 
following modules:
 - com.android.support:support-core-utils:25.3.1
 - com.android.support:support-core-utils:27.0.1

Я действительно не знаю, почему эта ошибка не отображается на вкладке Gradle Consoleили Event Log. Затем я исправил это, добавив код в конец android{}блока.

configurations.all {
    resolutionStrategy {
        failOnVersionConflict()
        eachDependency { DependencyResolveDetails details ->
            if (details.requested.name == 'support-core-utils') {
                details.useVersion '25.3.1'//Or you can use 27.0.1 if it does not conflict with your other dependencies
            }
    }
}

2

У меня возникла эта проблема, потому что я использовал прокси Charles на своем компьютере, и SSL был включен для всех хостов . А поскольку AS не доверяла моему прокси, сетевой запрос не удался. Поэтому мне пришлось отключить SSL для всех хостов и перезапустить Android Studio .


2

В моем случае я изменил версию плагина Kotlin в файле gradle, связанном с модулем, но не изменил его в корневом файле gradle.



2

Я столкнулся с подобной проблемой.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Failed to notify project evaluation listener.
   > org.gradle.api.tasks.compile.CompileOptions.setBootClasspath(Ljava/lang/String;)V

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

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

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.0-milestone-1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 7s
Build step 'Invoke Gradle script' changed build result to FAILURE
Build step 'Invoke Gradle script' marked build as failure
Finished: FAILURE

Ключ в том, что вам нужно найти способ решения такого рода проблем, а не решать эту проблему.

Согласно приведенному выше журналу, самая важная информация:

Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output. Run with --scan to get full insights.

Большинство проблем сборки Gradle будут решены, потому что при использовании конкретной команды сборки Gradle вы можете получить более подробную и понятную полезную информацию.

*clean project
./gradlew clean  

*build project
./gradlew build

*build for debug package
./gradlew assembleDebug or ./gradlew aD

*build for release package
./gradlew assembleRelease or ./gradlew aR

*build for release package and install
./gradlew installRelease or ./gradlew iR Release

*build for debug package and install
./gradlew installDebug or ./gradlew iD Debug

*uninstall release package
./gradlew uninstallRelease or ./gradlew uR

*uninstall debug package
./gradlew uninstallDebug or ./gradlew uD 

*all the above command + "--info" or "--debug" or "--scan" or "--stacktrace" can get more detail information.

А потом я обнаружил, что проблема связана с версией Gradle, когда я изменил Gradle с 5.0 на 4.1, и тогда все в порядке.


1

С новым плагином поддержки google gradle ( com.google.gms.google-services) это может быть вызвано некоторыми проблемами версии зависимостей с вашими com.google.android.gms.*модулями.

Вероятно, вы можете увидеть основную причину, запустив команду сборки с --stacktraceпараметром. то есть:

./gradlew :app:dependencies --stacktrace

который может указать причину проблемы:

Вызвано: org.gradle.api.GradleException: библиотека com.google.android.gms: play-services-measure-base запрашивается различными другими библиотеками в [[15.0.2,15.0.2], [16.0. 0,16.0.0]], но разрешается до 16.0.0 . Отключите плагин и проверьте свое дерево зависимостей с помощью ./gradlew: app: dependencies. в com.google.gms.googleservices.GoogleServicesPlugin $ 1 $ _afterResolve_closure1.doCall (GoogleServicesPlugin.groovy: 328) в org.gradle.api.internal.ClosureBackedAction.execute (ClosureBackedAction.java:71)


1

Для меня эта проблема возникла из-за несовместимой комбинации плагина и градиента.

Я добавил их в код, чтобы он работал:

Главный build.gradle

dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }

Основные свойства gradle-wrapper.properties:

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

1

Просто измените URL-адрес распространения на gradle-wrapper.properties

Разместите его: https://services.gradle.org/distributions/gradle-4.10.1-all.zip


1

Я решил эту проблему, очистив весь кеш Gradle, остановив процесс Gradle Daemon, и успешно создал новую сборку, используя следующую команду. Убедитесь, что ваш текущий каталог - android.

rm -rf ~/.gradle/caches && ./gradlew --stop && ./gradlew cleanBuildCache && ./gradlew bundleRelease

Я использую React Native. Итак, я добавил в свои скрипты в package.json следующее:

"build-android": "rm -rf ~/.gradle/caches && cd android && ./gradlew --stop && ./gradlew cleanBuildCache && ./gradlew bundleRelease && cd ..",

0

Я buildToolsVersion "27.0.1"обновил его, чтобы 27.0.2устранить проблему.

Кроме того, мои службы поддержки Android были в версии, 27.0.2поэтому они не были согласованы сbuildToolsVersion


0

Единственное, что мне помогло, это использовать системный градиент вместо встроенного в Android Studio:

НАСТРОЙКИ -> Сборка, выполнение, развертывание -> Gradle

Выберите Использовать локальное распространение Gradle . Чтобы найти путь, можно сделать which gradleтам, где whichпрограмма поддерживается. Может быть /usr/bin/gradle.

См. Также Ошибка: не удалось инициализировать класс com.android.sdklib.repositoryv2.AndroidSdkHandler по другой возможной причине.


0

НАСТРОЙКИ -> Сборка, Выполнение, Развертывание -> Gradle -> снять выделение Автономная работа Затем синхронизировать проект, все готово. введите описание изображения здесь Если не работает, то File> Invalidate caches / Restart -> Invalidate and Restart. введите описание изображения здесь


0

Я включил "Offline-Work" в меню File -> Settings -> Build, Deploy, Exec -> Gradle И это, наконец, решило проблему для меня.


0

В моем случае мне не хватало установленной целевой платформы SDK. Я помню, что эта ошибка была простой и побудила вас установить ее автоматически. Это тоже стоит проверить.


0

Первый шаг: Файл → Настройки → Сборка, выполнение, развертывание → Мгновенный запуск и снимите флажок Включить мгновенный запуск. Второй шаг: нажмите Invalidate / Restart. сделано .... Наслаждайтесь.



0

В моем случае мне пришлось обновить все библиотеки Firebase до последних версий.



0

Я проигнорировал использование JDK13 с Android Studio, поэтому выбрал следующие настройки, и решение было решено:

Шаг 1. (Файл> Другие настройки> Структура проекта по умолчанию> Расположение SDK> Расположение JDK)

Embedded JDK 

Шаг 2. (Файл> Структура проекта> Проект)

gradle plugin 3.6.3 

gradle 5.6.4 

-1

Просто перезапустите Android Studio - обычно все снова работает. (Invalidate Cache + Restart фактически не требуется).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.