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

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

Colibrow
источник
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

lingyfh
источник
Я бы расширил этот ответ, чтобы также отметить, что для использования более новой версии плагина может потребоваться обновить 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
Shayan_Aryan
источник
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

Это интересно, но как мне помочь:

 File -> Setting -> Gradle -> disable offline work
Серг Бурлака
источник
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, и тогда все в порядке.

ifeegoo
источник
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 по другой возможной причине.

serv-inc
источник
0

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

Мухаммад Джасим
источник
0

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

Субинд Суреш
источник
0

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

Чиско
источник
0

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

Нихил Бхаскар
источник
0

В моем случае мне пришлось сделать -

Файл -> Синхронизировать проект с файлами Gradle

Синхронизировать проект с файлами Gradle

Хришикеш Кадам
источник
0

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

лезвие
источник
0

Мне пришлось специально останавливать gradlewи очищать кеши, и это устранило мои проблемы:

./gradlew --stop
// Delete all cache files in your project. With git: `git -xfd clean` 
// Delete global cache dir. On Mac it is located in `~/.gradle/caches

Найдено здесь: https://github.com/realm/realm-java/issues/5650#issuecomment-355011135

sMyles
источник
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 фактически не требуется).

cV2
источник