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.