第一行代碼筆記-bulid.gradle 解析
外層的bulid.gradle文件
1 | buildscript { |
兩處的repositories的閉包中都聲明了jcenter() 這行配置。
jcenter是一個代碼托管倉庫,很多Androdi開源項目都會選擇將代碼托管到jcenter上,聲明了這個配置之後,可以在項目中引用任何jcenter上的開源項目。
dependencies閉包使用classpath聲明一個gradle插件。gradle并不是專門為構建android項目而開發,使用它時,需要聲明com.android.tools.build:gradle+版本號
app目錄内的build.gradle文件
1 |
|
第一行是應用了一個插件,一般有2個值可選:
- com.android.application表示這是一個應用程序模塊
- com.android.library 表示這是一個庫模塊。
應用程序模塊和庫模塊的最大區別是,一個可以直接運行,一個衹能作爲代碼庫依附于別的應用程序模塊來運行。
buildTypes閉包用於指定生成安裝文件的相關配置。通常衹有2個子閉包:debug和release
- debug閉包用於指定生成測試版安裝文件的配置
- release閉包用於指定生成正式版安裝文件的配置
debug閉包可以忽略不寫。
release閉包詳解
- minifyEnabled 用於指定是否對對項目的代碼進行混淆。 true表示混淆,false表示不混淆。
- proguardFiles用於指定混淆時使用的規則文件。
proguard-android.txt
是在Android SDK目錄下的,裏面是所有項目通用的混淆規則。proguard-rules.pro
是在當前項目根目錄下的,裏面可以編寫當前項目特有的混淆規則
通過Android Studio直接運行項目生成的都是測試版安裝文件
dependencies閉包
指定當前項目所有的依賴關係
通常Android Studio項目一共有3種依賴方式:
- 本地依賴
可以對本地的jar包或目錄添加依賴關係
- 庫依賴
可以對項目中的庫模塊添加依賴關係
- 遠程依賴
可以對jcenter庫上的開源項目添加依賴關係
compile 'com.android.support:appcompat-v7:25.2.0'
標準的遠程依賴庫格式com.android.support
是域名部分,用於和其他公司的庫做區分。appcompat-v7
是組名稱,用於和同一個公司中不同的庫做區分。25.2.0
是版本號,用於和同一個庫不同的版本做區分。