㈠ gradle.properties文件在哪
通常在項目的根目錄,在android Studio 創建一個項目的時候,根目錄下會生成gradle.properties和local.properties文件。
properties的數據格式:
採用鍵值對的方式,寫法:key=value
(1)Gradl如何編譯指定模塊擴展閱讀
項目結構
1、app/build:app模塊編譯輸出的文件。
2、app/libs: 放置引用的類庫文件。
3、app/src: 放置應用的主要文件目錄。
4、app/src/androidTest:單元測試目錄。
5、app/src/main:主要的項目目錄和代碼。
6、app/src/main/assets:放置原生文件,裡面的文件會保留原有格式,文件的讀取需要通過流。
7、app/src/main/java:項目的源代碼。
8、build:系統生成的文件目錄。
9、gradle: wrapper的jar和配置文件所在的位置。
10、.gitattributes:用於設置文件的對比方式。
11、.gitignore: 忽略的文件或者目錄。
12、build.gradle:項目的gradle編譯文件。
13、gradle.properties: gradle相關的全局屬性設置。
14、gradlew: 編譯腳本,可以在命令行執行打包。
15、gradlew.bat:windows下的gradle wrapper可執行文件。
16、local.properties:配置SDK/NDK所在的路徑。
17、MyApplication.iml:保存該模塊的相關信息。
18、README.md:文本編輯器,記錄一些相關信息。
19、settings.gradle:設置相關的gradle腳本。
20、External Libraries:項目依賴的庫,編譯時自動下載。
㈡ 如何使用Android Studio開發Gradle插件
使用Android Studio開發Gradle插件的步驟:
1 創建Gradle Mole
AndroidStudio中是沒有新建類似Gradle Plugin這樣的選項的,那我們如何在AndroidStudio中編寫Gradle插件,並打包出來呢?
(1) 首先,你得新建一個Android Project
(2) 然後再新建一個Mole,這個Mole用於開發Gradle插件,同樣,Mole裡面沒有gradle plugin給你選,但是我們只是需要一個「容器」來容納我們寫的插件,因此,你可以隨便選擇一個Mole類型(如Phone&Tablet Mole或Android Librarty),因為接下來一步我們是將裡面的大部分內容刪除,所以選擇哪個類型的Mole不重要。
(3) 將Mole裡面的內容刪除,只保留build.gradle文件和src/main目錄。
由於gradle是基於groovy,因此,我們開發的gradle插件相當於一個groovy項目。所以需要在main目錄下新建groovy目錄
(4) groovy又是基於Java,因此,接下來創建groovy的過程跟創建java很類似。在groovy新建包名,如:com.hc.plugin,然後在該包下新建groovy文件,通過new->file->MyPlugin.groovy來新建名為MyPlugin的groovy文件。
(5) 為了讓我們的groovy類申明為gradle的插件,新建的groovy需要實現org.gradle.api.Plugin介面。如下所示:
package com.hc.plugin
import org.gradle.api.Plugin
import org.gradle.api.Project
public class MyPlugin implements Plugin<project> {</project>
void apply(Project project) {
System.out.println("========================");
System.out.println("hello gradle plugin!");
System.out.println("========================");
}
}
因為我本人對groovy也不是特別熟悉,所以我盡可能的用Java語言,使用System.out.println而不是用groovy的pintln "",我們的代碼裡面啥也沒做,就列印信息。
(6) 現在,我們已經定義好了自己的gradle插件類,接下來就是告訴gradle,哪一個是我們自定義的插件類,因此,需要在main目錄下新建resources目錄,然後在resources目錄裡面再新建META-INF目錄,再在META-INF裡面新建gradle-plugins目錄。最後在gradle-plugins目錄裡面新建properties文件,注意這個文件的命名,你可以隨意取名,但是後面使用這個插件的時候,會用到這個名字。比如,你取名為com.hc.gradle.properties,而在其他build.gradle文件中使用自定義的插件時候則需寫成:
apply plugin: 'com.hc.gradle'
然後在com.hc.gradle.properties文件裡面指明你自定義的類
implementation-class=com.hc.plugin.MyPlugin
現在,你的目錄應該如下:
(7) 因為我們要用到groovy以及後面打包要用到maven,所以在我們自定義的Mole下的build.gradle需要添加如下代碼:
apply plugin: 'groovy'
apply plugin: 'maven'
dependencies {
compile gradleApi()
compile localGroovy()
}
repositories {
mavenCentral()
}
2 打包到本地Maven
前面我們已經自定義好了插件,接下來就是要打包到Maven庫裡面去了,你可以選擇打包到本地,或者是遠程伺服器中。在我們自定義Mole目錄下的build.gradle添加如下代碼:
group='com.hc.plugin'
version='1.0.0'
uploadArchives {
repositories {
mavenDeployer {
repository(url: uri('D:/repos'))
}
}
}
其中,group和version後面會用到,我們後面再講。雖然我們已經定義好了打包地址以及打包相關配置,但是還需要我們讓這個打包task執行。點擊AndroidStudio右側的gradle工具,如下圖所示:
可以看到有uploadArchives這個Task,雙擊uploadArchives就會執行打包上傳啦!執行完成後,去我們的Maven本地倉庫查看一下:
其中,com/hc/plugin這幾層目錄是由我們的group指定,myplugin是模塊的名稱,1.0.0是版本號(version指定)。
㈢ gradle是什麼呢
Gradle是一個構建工具。它是用來幫助我們構建app的,構建包括編譯、打包等過程。我們可以為Gradle指定構建規則,然後它就會根據我們的命令自動為我們構建app。AndroidStudio中默認就使用Gradle來完成應用的構建。有些同學可能會有疑問:」我用AS不記得給Gradle指定過什麼構建規則呀,最後不還是能搞出來個apk。
gradle構建工具多項目管理
實際使用中,往往需要管理的都不是單單一個項目,maven使用依賴,繼承,組成的概念,在父模塊指定自己的子模塊,並且准備一些各個子模塊公用的資源,配置信息等等。將打包的模塊與實現具體功能的模塊分開的做法來管理多個項目。Gradle在這一方面做得更加清楚。