公司电脑中的Android Studio一直存在着一个问题。
在Terminal中输入gradle相关的命令总是执行失败,但是gradle -version却可以正常显示。
为了解决该问题,我尝试删除了.android和.AndroidStudio3.1(以及.AndroidStudio2.2之流的一系列文件)以及.gradle等文件(删除这些文件是一个漫长的过程)并卸载重装Android Studio程序,invalidate and reset等,但是依旧执行gradle build等命令依旧失败。
我尝试配置了CLASSPATH、path以及JAVA_HOME,然后执行gradle build等命令依旧失败。
此时我打开AndroidStudio 的Project Structure是这样的。我的Android Studio安装目录是:C:\Program Files\Android\Android Studio
这里我猜测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是之前的同事安装的,可能安装时有一定的错漏又或者是我升级了软件版本导致不可用(之前应该是java7,我升级了之后的Android Studio的版本最低是支持java8于是我换成了java8,导致发生错误?仅猜测),于是我打算从安装JDK开始重新来过,最后终于成功了,以下为安装记录。
JDK下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
先点击Accept,然后下载Windows x64版本。//本机环境win7 64位。
这里下载了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了。
Android Studio免翻官方下载链接:
https://developer.android.google.cn/studio/
安装好后,随便新建一个工程文件,然后File——project stucture查看JDK配置,此时是默认的。此时输入gradlew build,显示BUILD SUCCESSFUL in 1m 25s,此时表明可以用了。
此时如果改成jdk171的目录会怎么呢?我进行了尝试。刚改完jdk location之后,命令行中第一次输入gradlew build的时候编译失败了。
于是新建了一个project,并且点击下图箭头所指的三个选项以及rebuild project(应该就是做了这些操作,具体生效原因未知,莫非是sync with file system?),然后在命令行输入gradlew build 最后就可以BUILD SUCCESSFUL。
此时再切换到之前的无法正常执行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