【问题标题】:IntelliJ Idea Android project: Gradle project sync failed [duplicate]IntelliJ Idea Android项目:Gradle项目同步失败[重复]
【发布时间】:2017-01-13 16:18:01
【问题描述】:

编辑:

@Percy Vega 在this 帖子上提示的解决方案对我有用。

当您拥有 64 位 JRE 时,运行 idea64.exe 而不是 idea.exe 似乎可以解决问题。


我从来没有使用过 Gradle,所以我现在很困惑: 我已经尝试了一段时间来让它工作,但没有任何成功。 我正在尝试在 IntelliJ Idea 2016.3.2 中创建一个 Android 项目,但是一旦创建它,​​我就会收到 此消息:

在消息日志上:

Gradle sync started

Gradle sync failed: The newly created daemon process has a different context than expected.
It won't be possible to reconnect to this daemon. Context mismatch: 
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.3.1\jre,daemonRegistryDir=C:\Users\xico\.gradle\daemon,pid=5660,idleTimeout=null,daemonOpts=-Xmx1536m,-Dfile.encoding=windows-1252,-Duser.country=US,-Duser.language=en,-Duser.variant]
        Actual: DefaultDaemonContext[uid=08e53ecc-a9ee-405c-afc9-a7ba8779d6ee,javaHome=C:\Program Files\Java\jdk1.8.0_112,daemonRegistryDir=C:\Users\xico\.gradle\daemon,pid=2336,idleTimeout=60000,daemonOpts=-Xmx1536m,-Dfile.encoding=windows-1252,-Duser.country=US,-Duser.language=en,-Duser.variant]
        Consult IDE log for more details (Help | Show Log)

我已下载 Gradle 3.3 并将其存储在:

C:\Program Files\Gradle\gradle-3.3

这是 IntelliJ 内部的 Gradle 设置。我也尝试检查“离线工作”,但结果相同:

项目根目录的 build.gradle 文件:

应用的 build.gradle 文件:

我该如何解决这个问题? 提前致谢。

PS:如果有更多有用的信息,请尽管询问。

【问题讨论】:

  • 你不需要自己安装 Gradle。大多数 Android 项目都配置了“Gradle wrapper”
  • 另外,请不要使用图片。实际上将您的代码粘贴到问题中。
  • @Charuka 嘿,非常感谢,显然我的解决方法是运行 idea64.exe 而不是 idea.exe,因为我安装了 64 位 JRE。
  • @Frank aww 很高兴你修复了它。祝你好运!

标签: android intellij-idea gradle


【解决方案1】:

gradle-wrapper.properties 文件中指定 Gradle 的版本,其内容如下所示:

#Thu Oct 06 00:21:08 IDT 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

假设你的项目结构是:

my-project
 |- app
     |+ libs
     |+ src
 |- gradle
     |- wrapper
         |- gradle-wrapper.properties  << here

然后,AS 下载它并通常将其安装(在 Windows 机器上)到:

C:\Users\<username>\.gradle\wrapper\dists\gradle-<version>-all

【讨论】:

  • OP 没有使用包装器,顺便说一句
  • @cricket_007 是的。尽管如此,OP 还提到他们以前从未使用过 Gradle……值得一提的是,存在此选项是因为它在某种程度上简化了 Gradle 的使用……(就像您对问题的评论一样)。
【解决方案2】:

关于您的错误Java home is different。那是您在操作系统/应用程序中遇到的一些配置问题,与 Android、Gradle 无关。


不管怎样,

classpath 'com.android.tools.build:gradle:3.3.0'

此行不直接对应 Gradle 版本。那就是 Android Gradle 构建库。从这篇文章开始,3.3.0is not a valid version

另外值得一提的是,虽然 Android 文档声明 Gradle 2.14.1 及更高版本可以工作,但请注意在某些时候可能会出现一些重大更改。


我已经回答的关于此类 Gradle 问题的其他一些帖子

What is the difference between an app dependency and a module dependency/plugin?

Fix plugin version and sync project Error In Android Studio

【讨论】:

  • 现在已解决(编辑),但仍然感谢!不过,我发现 Java Home 的问题很奇怪,因为我之前在 intelliJ 上从未遇到过 android + java 的任何问题。
  • @Frank 不通过编辑问题来回答。如果您找到了解决方案,请发布一个回答,说明什么对您有用。
  • @Dev-iL 第二条评论中的链接有一个有效的解决方案
  • @cricket_007 注意到了。那么这保证了一个接近重复的......
猜你喜欢
  • 2014-07-03
  • 2014-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
相关资源
最近更新 更多