通過設定JDK保證不同Android Studio和外部程序共享同一個Gradle後臺程序
阿新 • • 發佈:2020-08-06
使用Android Studio經常會在Event Log視窗遇到如下報錯:
21:42 Android Studio is using the following JDK location when running Gradle: C:\Program Files\Android\Android Studio\jre Using different JDK locations on different processes might cause Gradle to spawn multiple daemons, for example, by executing Gradle tasks from a terminal while using Android Studio. More info... Select a JDK from the File System Do not show this warning again
可以通過如下指引瞭解詳細資訊:
簡單解釋下就是如果後臺有一個常駐的gradle守護程序,可以提高我們構建效率。因為這樣不但可以避免每次都重新啟動JVM,並且可以快取專案結構、檔案、任務等資訊。每次啟動AS的時候,你可能會注意到如下這個提示,其實就是AS預設打開了gradle守護程序:
但是如果使用守護程序特性會有一個問題,就是可能會出現多個守護程序的場景,這是因為守護程序可能在某些方面無法滿足請求構建環境。比如如果守護程序執行在Java 8執行時,但是請求的環境呼叫Java 10,那麼守護程序是不相容的,必須啟動另一個。此外,Java執行時的某些屬性在JVM啟動後無法更改。這也可能導致出現多個守護程序。
為了避免出現這種情況,一個最好的解決方式時我們每次使用gradle進行專案構建時,儘量使用相同的JDK配置。如果我們在命令列中使用gradle,會自動使用JAVA_HOME環境變數指向的JDK,如果在AS中使用gradle,使用的是如下指向的JDK
所以為了兩者一致,我們需要將此處的JDK改為JAVA_HOME環境變數指向的JDK。修改完之後AS的告警提示資訊也自然消失了。