Android Studio-无法通知项目评估监听器错误


83

以下是Android Studio中的build.gradle代码

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'
}

我收到以下错误:错误:配置项目':app'时出现问题。

无法通知项目评估侦听器。com.android.build.gradle.tasks.factory.AndroidJavaCompile.setDependencyCacheDir(Ljava / io / File;)V

谁能帮忙吗?

以下是即时运行屏幕截图 在此处输入图片说明


您的Android Studio版本是什么?
Arpit Patel

您是否尝试过我的答案?和AndroidStudio版本?
Arpit Patel

Android Studio版本为2.3
userash

我无法取消选中“启用即时运行”。我已经添加了屏幕快照
userash

2
重新启动您的android studio并再次检查它是否不起作用,然后更新AndroidStudio 2.3
Arpit Patel

Answers:


35

在我通过禁用 Instant Run

文件→设置→构建,执行,部署→即时运行,然后取消选中启用即时运行。

希望它能工作。

注意此答案适用于Android Studio 3以下


1
我正在尝试从CMD构建gradle并导致上述错误,@ colibrow的答案对我有用。
巴尼·伊沙克

15
is选项被禁用
Pratik Butani

这里没有把戏。叹。在AS配置中无聊。
InI4

1
在“构建”,“执行”和“部署”下,没有“我的即时运行”选项。
安道尔内梅特

61

我也有这个问题。build.gradle用工程的变更修理

更改

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

而且我也更改了distributionUrlgradle-wrapper.properties(全局版本)

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

并获得成功。


1
谢谢!我想这里的一般课程是首先发现您拥有哪个版本的Android build插件:)
Kenny Worden

2
@KennethWorden如何发现呢?
HomeMade

1
@HomeMade,如果我没记错的话,您应该可以签入Android Studio设置
Kenny Worden

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

20

您需要检查您的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 Gradle Android插件发行说明

在此处输入图片说明

另一方面

使用更新的插件版本可能需要更新Android Studio

谢谢@antek


我会将此答案扩展为还注意,使用较新的插件版本可能需要更新Android Studio
Antek

这是正确的答案。问题似乎是由于gradle版本,com.android.tools.build:gradle版本(android gradle插件)和IDE版本之间不匹配引起的。根据我的经验,将这些版本升级为最新版本是最好的策略。
Farrukh Najmi

这是正确的答案。当我使用doc中提到的兼容版本时,它就像魔术一样工作..谢谢男人
Sideeg MoHammed

这是我解决方案的根源。我发现此讨论对实际更新Gradle插件很有用。
扎克

7

就我而言,我遇到了wifi问题。确保您具有有效的互联网连接


1
不错,我正在使用离线模式。
M. Reza Nasirloo

7

有类似的问题,问题是所包含库的版本不同。找出导致问题的原因使用stacktrace运行build命令

./gradlew build --stacktrace

5

这既不是问题的确切答案,也不是灵丹妙药。但是,如果没有什么适合您,例如使缓存无效并重新启动,检查构建依赖项,禁用即时运行(我从不建议这样做)等。

  1. --stacktrace设置>构建,执行,部署>编译器中添加命令行选项
  2. 现在再次构建/组装gradle。您将获得有关原因的详细信息。例如在我的情况下:

造成原因:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.squareup.okhttp3:logging-interceptor:3.9.1Net。

我在模块级gradle文件中拼写了依赖项名称。希望对您有所帮助


4

就我而言,我只能通过使缓存无效来解决此错误。

文件>使缓存无效/重新启动


3

问题可能是您使用的是Gradle版本而不是3。转到gradle / wrapper / gradle-wrapper.properties并将最后一行更改为:

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

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 ConsoleEvent 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

我遇到了类似的问题。

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 build命令时,可以获得更详细,有用的信息。

*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参数的build命令来查看根本原因。即:

./gradlew :app:dependencies --stacktrace

可能会输出问题的原因:

由以下原因引起:org.gradle.api.GradleException:com.google.android.gms:play-services-measurement-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

对我而言,此问题是由于插件和gradle的组合不兼容而引起的。

我将这些添加到代码中以使其正常工作:

主要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

我已经通过清理所有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

设置->构建,执行,部署-> Gradle->取消选择离线工作然后同步项目,一切顺利。 在此处输入图片说明 如果不起作用,则选择文件>使高速缓存无效/重新启动->使无效并重新启动。 在此处输入图片说明


0

我在“文件”->“设置”->“构建,部署,执行”->“ Gradle”下启用了“脱机工作”,这终于为我解决了这个问题。


0

就我而言,我没有安装目标SDK平台。我记得这个错误很简单,提示您自动安装它。值得检查。




0

就我而言,我必须将所有Firebase库更新为最新版本。


0

只需重新启动Android Studio-通常,然后一切都会恢复。(实际上不需要无效的缓存+重新启动)。



0

我忽略了将JDK13Android Studio一起使用因此选择了以下设置,此问题已解决:

步骤1.(文件>其他设置>默认项目结构> SDK位置> JDK位置)

Embedded JDK 

步骤2。(“文件”>“项目结构”>“项目”)

gradle plugin 3.6.3 

gradle 5.6.4 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.