天天看點

Android -- Gradle

更容易重用資源和代碼;

可以更容易建立不同的版本的程式,多個類型的apk包;

更容易配置,擴充;

更好的IDE內建;

使用ide建立的gradle建構的項目,會自動建立一個build.gradle,如下:

Android -- Gradle
Android -- Gradle

可以看到,建構檔案主要有三個區域:

Android -- Gradle
Android -- Gradle

assemble The task to assemble the output(s) of the project(輸出一個項目檔案,android就是打包apk)

check The task to run all the checks.(運作檢查,檢查程式的錯誤,文法,等等)

build This task does both assemble and check (執行assemble和check)

clean This task cleans the output of the project(清理項目輸出檔案)

上面的任務assemble,check,build實際上什麼都不做,他們其實都是其他任務的集合。

執行一個任務的方式為gradle 任務名, 如gradle assemble,在android項目中還有connectedCheck(檢查連接配接的裝置或模拟器),deviceCheck(檢查裝置使用的api版本)。通常我們的項目會有至少生成兩個版本,debug和release,我們可以用兩個任務assembleDebug和assembleRelease去分别生成兩個版本,也可以使用assemble一下子生成兩個版本。gradle支援任務名縮寫,在我們執行gradle assembleRelease的時候,可以用gradle aR代替。

我們可以在build.gradle檔案中配置我們的程式版本等資訊,進而可以生成多個版本的程式。 

支援的配置有:

minSdkVersion 最小支援sdk版本

targetSdkVersion 編譯時的目标sdk版本

versionCode 程式版本号

versionName 程式版本名稱

packageName 程式包名

Package Name for the test application 測試用的程式包名

Instrumentation test runner 測試用的instrumentation執行個體

Android -- Gradle
Android -- Gradle

預設情況下項目目錄是這樣的 

有兩個元件source sets,一個main,一個test,對應下面兩個檔案夾。

然後對于每個元件目錄都有兩個目錄,分别存儲java代碼和資源檔案

對于android項目中呢,對應的目錄和檔案是 

AndroidManifest.xml //該檔案src/androidTest/目錄下不需要,程式執行時會自動建構

如果需要上面這些檔案,但是不是在上面所說的目錄,則需要設定。

Android -- Gradle
Android -- Gradle

可以給main或者test設定根目錄,如

可以指定每種檔案的存儲路徑

Android -- Gradle
Android -- Gradle

特别是我們的ndk生成的.so檔案,通常我們不是放到jni目錄中的,我們需要設定一下

可以給不同類型進行不同的配置:

Android -- Gradle
Android -- Gradle

上面的配置檔案配置兩個類型,一個時debug類型,一個時自己的自定義類型。兩個分别使用了不同的簽名,同時對于生成密鑰,要填寫設定的密碼。代碼混淆設定代碼混淆設定代碼混淆設定

Android -- Gradle
Android -- Gradle

以上是使用預設的proguard檔案去進行混淆,也可以使用自己編寫的規則進行混淆,proguardFile 'some-other-rules.txt'

程式中會依賴别的包,或者程式,需要引入别的類庫。前面也說到了,支援maven。 

對于本地的類庫,可以這樣引入:

Android -- Gradle
Android -- Gradle

對于maven倉庫檔案:

Android -- Gradle
Android -- Gradle
Android -- Gradle
Android -- Gradle

通過以上設定,我們可以輸出不同的保命不同的版本号,以及最小sdk的程式包。當然我們可以根據自己的需求去做其他的不同。

Android -- Gradle
Android -- Gradle

以上的功能就是替換我的Manifest中的管道标示,同時去生成不同的apk包。

程式在buid的時候,會執行lint檢查,有任何的錯誤或者警告提示,都會終止建構,我們可以将其關掉。

本文轉自我愛物聯網部落格園部落格,原文連結:http://www.cnblogs.com/yydcdut/p/4162440.html,如需轉載請自行聯系原作者

繼續閱讀