欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android Studio 中運(yùn)行 groovy 程序的方法圖文詳解

 更新時(shí)間:2020年03月13日 11:57:16   作者:detachment_w  
這篇文章主要介紹了Android Studio 中 運(yùn)行 groovy 程序的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Groovy簡(jiǎn)介

Groovy是一種基于JVM(Java虛擬機(jī))的敏捷開(kāi)發(fā)語(yǔ)言,它結(jié)合了Python、Ruby和Smalltalk的許多強(qiáng)大的特性,Groovy 代碼能夠與 Java 代碼很好地結(jié)合,也能用于擴(kuò)展現(xiàn)有代碼。由于其運(yùn)行在 JVM 上的特性,Groovy也可以使用其他非Java語(yǔ)言編寫的庫(kù)。

Groovy 是 用于Java虛擬機(jī)的一種敏捷的動(dòng)態(tài)語(yǔ)言,它是一種成熟的面向?qū)ο缶幊陶Z(yǔ)言,既可以用于面向?qū)ο缶幊?,又可以用作純粹的腳本語(yǔ)言。使用該種語(yǔ)言不必編寫過(guò)多的代碼,同時(shí)又具有閉包和動(dòng)態(tài)語(yǔ)言中的其他特性。
Groovy是JVM的一個(gè)替代語(yǔ)言(替代是指可以用 Groovy 在Java平臺(tái)上進(jìn)行 Java 編程),使用方式基本與使用 Java代碼的方式相同,該語(yǔ)言特別適合與Spring的動(dòng)態(tài)語(yǔ)言支持一起使用,設(shè)計(jì)時(shí)充分考慮了Java集成,這使 Groovy 與 Java 代碼的互操作很容易。(注意:不是指Groovy替代java,而是指Groovy和java很好的結(jié)合編程。

運(yùn)行 groovy 程序

首先由幾個(gè)需要注意的地方

1.最好不要在Java Libray module 以外的其他類型module,運(yùn)行g(shù)roovy程序,腳本類的還問(wèn)題不大,如果是在GroovyConsole運(yùn)行java類的groovy程序時(shí),就明顯無(wú)法執(zhí)行了。

因?yàn)?groovy 插件和 android 插件不兼容,所以不能在Android 相關(guān)的module上使用 groovy。

在這里插入圖片描述

工程build失敗,原因如下:

Caused by: com.android.build.gradle.internal.BadPluginException: The 'java' plugin has been applied, but it is not compatible with the Android plugins.

2.雖然不推薦在Java Library之外的其他模塊運(yùn)行g(shù)roovy程序,但是只要把該模塊的build gradle文件改為以下內(nèi)容,腳本類和java類groovy程序還是能執(zhí)行的,但是這也失去了該module的意義了吧,所以還是推薦使用Java Library 運(yùn)行g(shù)roovy程序,當(dāng)然如果只是學(xué)習(xí)groovy都為所謂。

apply plugin: 'groovy'

dependencies {
 implementation fileTree(dir: 'libs', include: ['*.jar'])
 implementation localGroovy() 
} 

apply plugin: ‘groovy' 會(huì)引入 groovy 插件,groovy 插件繼承了 java 插件。 implementation localGroovy() 會(huì)引入 Gradle 所帶的 Groovy 庫(kù)。

還是上面講過(guò)的Android 和 groovy 插件不能同時(shí)存在,即下圖這種方式是不允許的

在這里插入圖片描述

java-library 插件和 groovy插件可以同時(shí)存在

在這里插入圖片描述

根據(jù)上述需要注意的問(wèn)題,正確步驟如下

1.新建一個(gè)Java Library module

在這里插入圖片描述 在這里插入圖片描述 在這里插入圖片描述 在這里插入圖片描述

2.修改該module下的build gradle 文件,如下

在這里插入圖片描述

3.src/ main目錄下新建 groovy 文件夾,并新建 Test.groovy 文件

在這里插入圖片描述 在這里插入圖片描述

1 、運(yùn)行Java 式的 Groovy

按以上步驟完成后,編寫demo如下,點(diǎn)擊運(yùn)行即可

apply plugin: 'groovy'

dependencies {
 implementation fileTree(dir: 'libs', include: ['*.jar'])
 implementation localGroovy() 
} 

在這里插入圖片描述

雖然運(yùn)行成功了,但是提示

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.

此版本中使用了不推薦使用的Gradle功能,使其與Gradle 6.0不兼容。

回到當(dāng)前module 下的 build.gradle文件,添加如下代碼:

task renameGroovyToJava {
 doLast{
 delete "$buildDir/classes/java"
 File file = new File("$buildDir/classes/groovy")
 println file.renameTo("$buildDir/classes/java")
 }
}

在這里插入圖片描述

同步后,點(diǎn)擊運(yùn)行

在這里插入圖片描述

1.1 原理

點(diǎn)擊運(yùn)行后,通過(guò)查看 android studio 控制臺(tái)信息發(fā)現(xiàn),它執(zhí)行了 compileJava Task,于是將 compileGroovy Task 附著在 compileJava 后面,compileGroovy task 完成后,再將 build/classes/groovy 文件夾重命名為 java。從而使 android studio 可以執(zhí)行 groovy 編譯后的 class 文件。

前后對(duì)比如下:

在這里插入圖片描述 在這里插入圖片描述

2 、腳本式的 Groovy

1.在Test.groovy相同路徑下創(chuàng)建新的groovy文件,如下

在這里插入圖片描述 在這里插入圖片描述

2.編寫 groovy 文件,如下:

在這里插入圖片描述

3.找到工具欄的這個(gè)地方,選擇 Edit Configurations...,在彈出的頁(yè)面點(diǎn)擊左上角的加號(hào) Add New Configuration,再選擇groovy

在這里插入圖片描述 在這里插入圖片描述 在這里插入圖片描述

4.然后只需要填寫 Name、Script path 就可以,Name 隨便寫,跟groovy文件名相同即可,Script path就選擇上面 MyGroovy 類的路徑。

在這里插入圖片描述

5.現(xiàn)在工具欄如下,點(diǎn)擊下圖中紅款中的綠三角,運(yùn)行g(shù)roovy程序

在這里插入圖片描述

運(yùn)行結(jié)果如下

在這里插入圖片描述

注意

腳本類 groovy 的配置方法,同樣可以用來(lái)執(zhí)行 Java 類的 groovy,但 java 類的配置方法不能運(yùn)行腳本類的 groovy。上面名為Test.groocy的Java 類的 groovy按照腳本類 groovy 的配置方法配置完成后運(yùn)行如下:

在這里插入圖片描述 在這里插入圖片描述

Groovy console

android studio 的標(biāo)題欄進(jìn)入 Tools/Groovy Console。這里也可以直接運(yùn)行 groovy 程序(java類的和腳本類的都可以)。

在這里插入圖片描述

Groovy console 運(yùn)行腳本類 非常簡(jiǎn)單,直接在編寫點(diǎn)擊左上角運(yùn)行按鈕即可

在這里插入圖片描述

上圖就是點(diǎn)擊Groovy Console后創(chuàng)建的,編輯代碼點(diǎn)擊左上角三角符號(hào)后運(yùn)行結(jié)果如下

在這里插入圖片描述

Groovy console 運(yùn)行java類 就比較麻煩了,我覺(jué)得也沒(méi)有必要把java類在groovy console中運(yùn)行,下面我還是說(shuō)一下我踩過(guò)的坑和步驟吧

我之前創(chuàng)建的module是Android Library,該module的名字是groovy,然后build gradle 文件把Android 插件去掉了,如下圖

在這里插入圖片描述

然后我們?cè)谛碌腉roovy Console中隨便編寫一個(gè)class,代碼如下:

在這里插入圖片描述

點(diǎn)擊運(yùn)行,選擇 Run 'Test1.main()':

在這里插入圖片描述

選擇 Run 'Test1.main()'后彈框如下:

在這里插入圖片描述

上面已經(jīng)提及到了,以上都是我在名為groovy Android Library module下進(jìn)行的操作

在這里插入圖片描述

選擇完module后,提示如下:

在這里插入圖片描述

所以還必須創(chuàng)建一個(gè)名為Test1的class文件,那我們問(wèn)什么還要使用Groovy Console呢,直接運(yùn)行java類的groovy程序就行了

我這里有一個(gè)之前的Test.class,直接把console里面的改一下名字,如下:

在這里插入圖片描述

在這里插入圖片描述

然后繼續(xù)按上述步驟執(zhí)行,這次全部OK了

在這里插入圖片描述

點(diǎn)擊Run之后,運(yùn)行結(jié)果如下:

在這里插入圖片描述

上面是正常的流程,不管是什么類型的module,只要build gradle 按上面配置,然后一步一步執(zhí)行都能正常運(yùn)行。

但是我之前把groovy插件和Android插件放到了一起,如下:

在這里插入圖片描述

雖然build失敗如下,但我沒(méi)有理會(huì):

在這里插入圖片描述

這個(gè)時(shí)候我們還是按上面 Groovy Console執(zhí)行java類程序 正常的步驟執(zhí)行,會(huì)提示如下:

Cause: compileSdkVersion is not specified. Please add it to build.gradle

即 原因:未指定compileSdkVersion,請(qǐng)將其添加到build.gradle

在這里插入圖片描述 在這里插入圖片描述

然后我們把compileSdkVersion添加到build gradle文件中,如下:

在這里插入圖片描述

再次按照 Groovy Console執(zhí)行java類程序 正常步驟執(zhí)行,提示如下:

The 'java' plugin has been applied, but

it is not compatible with the Android plugins.

已經(jīng)應(yīng)用了“java”插件,但它與Android插件不兼容。還是一開(kāi)始build提示的問(wèn)題,所以說(shuō)最好在Java Library 執(zhí)行g(shù)roovy程序

在這里插入圖片描述 在這里插入圖片描述

到此這篇關(guān)于Android Studio 中運(yùn)行 groovy 程序的方法圖文詳解的文章就介紹到這了,更多相關(guān)Android Studio 運(yùn)行 groovy 程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論