AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录

公司电脑中的Android Studio一直存在着一个问题。

在Terminal中输入gradle相关的命令总是执行失败,但是gradle -version却可以正常显示。

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

为了解决该问题,我尝试删除了.android和.AndroidStudio3.1(以及.AndroidStudio2.2之流的一系列文件)以及.gradle等文件(删除这些文件是一个漫长的过程)并卸载重装Android Studio程序,invalidate and reset等,但是依旧执行gradle build等命令依旧失败。

我尝试配置了CLASSPATH、path以及JAVA_HOME,然后执行gradle build等命令依旧失败。

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》
《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

此时我打开AndroidStudio 的Project Structure是这样的。我的Android Studio安装目录是:C:\Program Files\Android\Android Studio

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

这里我猜测JDK location选择不对(这里很奇怪,我的另一台电脑上的JDK location选的是默认的Android Studio安装目录下的jre,执行gradle build没有任何问题),所以尝试选择其他JDK——jdk,但是失败了。

此时本机的jdk版本是jdk1.8.0_65,输入java -version显示的也是jdk1.8.0_65,但是在Android Studio中选择JDK就是选不上jdk1.8.0_65,只能选择jdk1.7.0_79,具体原因我没弄清楚。

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》
《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

本机的AndroidStudio是之前的同事安装的,可能安装时有一定的错漏又或者是我升级了软件版本导致不可用(之前应该是java7,我升级了之后的Android Studio的版本最低是支持java8于是我换成了java8,导致发生错误?仅猜测),于是我打算从安装JDK开始重新来过,最后终于成功了,以下为安装记录。

JDK下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

先点击Accept,然后下载Windows x64版本。//本机环境win7 64位。

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

这里下载了jdk1.8.0_171,点击exe安装。如果不改安装路劲的话,C:\Program Files\Java路劲下就会安装jdk1.8.0_171和jre1.8.0_171。

然后就可以开始配置环境变量了,这里有3处需要配置。:path 、CLASSPATH、JAVA_HOME这三个系统变量。

path : C:\Program Files\Java\jdk1.8.0_171\bin

CLASSPATH:  C:\Program Files\Java\jdk1.8.0_171\lib\tools.jar;C:\Program Files\Java\jdk1.8.0_171\lib\dt.jar

JAVA_HOME :C:\Program Files\Java\jdk1.8.0_171

此时java版本为1.8.0_171了。

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

Android Studio免翻官方下载链接:

https://developer.android.google.cn/studio/

安装好后,随便新建一个工程文件,然后File——project stucture查看JDK配置,此时是默认的。此时输入gradlew build,显示BUILD SUCCESSFUL in 1m 25s,此时表明可以用了。

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

此时如果改成jdk171的目录会怎么呢?我进行了尝试。刚改完jdk location之后,命令行中第一次输入gradlew build的时候编译失败了。

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

于是新建了一个project,并且点击下图箭头所指的三个选项以及rebuild project(应该就是做了这些操作,具体生效原因未知,莫非是sync with file system?),然后在命令行输入gradlew build 最后就可以BUILD SUCCESSFUL。

《AndroidStudio中Terminal运行gradle(或gradlew)命令失败解决记录》

此时再切换到之前的无法正常执行gradlew 命令的project,也可以正常执行。

此时,我再对jdk的location进行来回切换配置,也都可以正常执行gradlew命令。

这里就留下了一个问题:Android Studio的这几个选项(sync with等)到底对什么文件产生效果?

通常我修改了gradle相关配置文件是需要选sync project with gradle file,修改的gradle就会生效。那invalidate 的作用又是什么?

//未完

参考链接:

Android Studio安装

https://www.jianshu.com/p/a8eb30b76d2e

    原文作者:梧叶已秋声
    原文地址: https://www.jianshu.com/p/9a655815e9b0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞