为什么我还可以在没有安装jdk的情况下在android studio中进行gradle构建?

时间:2017-10-06 14:56:37

标签: android gradle

首次在Mac上安装Android Studio,未检查JDK,

MacBook-Pro:~/sh$ java --version
No Java runtime present, requesting install.

MacBook-Pro:/Applications/Android Studio.app/Contents$ ls
Info.plist  Resources   bin     jre     license
MacOS       _CodeSignature  gradle      lib     plugins

然后我打开Android Studio并编写了通用的简单程序" hello"并构建它,我预期错误,但没有...(参见构建控制台突出显示部分)

enter image description here

同样,我预计会出现错误,例如"未安装jdk" "没有找到jdk" " java not found"等...

我尝试使用命令行进行构建,然后再次使用

MacBook-Pro:~/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/bin$ ./gradle -v
No Java runtime present, requesting install.

除非Android Studio内置的项目不使用Gradle,否则我觉得这里是互斥的。

那么如何正确理解Android Studio中的Gradle角色呢?

放置位置以防有人需要它,

MacBook-Pro:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin$ ls
appletviewer    javah       jjs     keytool     schemagen
extcheck    javap       jmap        native2ascii    serialver
idlj        jcmd        jps     orbd        servertool
jar     jconsole    jrunscript  pack200     tnameserv
jarsigner   jdb     jsadebugd   policytool  unpack200
java        jdeps       jstack      rmic        wsgen
javac       jhat        jstat       rmid        wsimport
javadoc     jinfo       jstatd      rmiregistry xjc

1 个答案:

答案 0 :(得分:2)

自Android Studio 2.2开始嵌入OpenJDK。如果您想使用其他版本,可以这样做。 See here

通过使用gradle包装器,它将使用您未设置的JDK的环境路径。这就是为什么它在Android Studio中工作,而不是在OS命令行中工作。