最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Android開發(fā)學(xué)習(xí)教程(3)- Gradle構(gòu)建項目

2023-01-26 15:18 作者:ChatGPT云炬學(xué)長  | 我要投稿

—— 既然庸庸碌碌也難逃一死,何不奮起一搏? ——荷馬史詩

如果用過Eclipse寫過Java項目的同學(xué)一定還記得,當(dāng)一個項目需要依賴第三方庫的時侯,我們需要先去下載.jar文件,然后再Build Path,或者直接打開Build Path設(shè)置,再Add Jar文件進去,這兩種操作都繞不開的就是都需要把第三方依賴庫.Jar文件”引入”到項目中,我們程序中才能Load到 .Jar文件中的 .Class類文件。

而在Android Studio中這一切都是通過Gradle去完成的。

Gradle是什么

Gradle是一個項目自動化構(gòu)建工具。它可以幫你管理項目中的第三方包依賴關(guān)系,項目編譯,項目打包,項目部署等,也通過編輯build.gradle來定義自己需要的構(gòu)建邏輯。

我們回到上一篇文章中的第4小點Gradle Scripts文件夾。與gradle有關(guān)的有4個文件:

我們將項目結(jié)構(gòu)切換成Project模式能更直觀的看到這4個文件在項目中的路徑:

我們先來看第①個文件工程目錄下的build.gradle,這個文件的作用是對工程整體gradle的配置,比如配置gradle的版本為4.0.1、配置依賴庫的倉庫URL為mave ‘https://maven.aliyun.com/repository/public/’倉庫 、’https://maven.aliyun.com/repository/google‘倉庫、google倉庫、jcenter倉庫

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
buildscript {
????repositories {
????????maven {?url?'https://maven.aliyun.com/repository/public/'?}
????????maven { url?'https://maven.aliyun.com/repository/google'?}
????????google()
????????jcenter()
????????
????}
????dependencies {
????????classpath?'com.android.tools.build:gradle:4.0.1'
????}
}
allprojects {
????repositories {
????????maven { url?'https://maven.aliyun.com/repository/public/'?}
????????maven { url?'https://maven.aliyun.com/repository/google'?}
????????google()
????????jcenter()
????}
}
task clean(type: Delete) {
????delete rootProject.buildDir
}

接著看第②個文件工程目錄下的gradle.properties

1
2
3
org.gradle.jvmargs=-Xmx1536m
android.useAndroidX=true
android.enableJetifier=true

分別表示CPU分配1536m的內(nèi)存給gradle的JVM、項目使用AndroidX依賴庫而非Support依賴庫、Android插件會通過重寫其二進制文件來自動遷移現(xiàn)有的第三方庫,以使用AndroidX依賴項

第③個文件gradle文件夾下的gradle-wrapper.properties

1
2
3
4
5
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

這個比較好理解了,就是設(shè)置gradle的版本為6.1.1-all

第④個文件app文件夾下的build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
apply plugin:?'com.android.application'
android {
????compileSdkVersion?28
????defaultConfig {
????????applicationId?"com.example.myapplication"
????????minSdkVersion?16
????????targetSdkVersion?28
????????versionCode?1
????????versionName?"1.0"
????}
????buildTypes {
????????release {
????????????minifyEnabled?false
????????????proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),?'proguard-rules.pro'
????????}
????}
}
dependencies {
????implementation fileTree(dir:?'libs', include: ['*.jar'])
????implementation?'androidx.appcompat:appcompat:1.1.0'
????implementation?'androidx.recyclerview:recyclerview:1.1.0'
}

這個文件是我們平常開發(fā)中最經(jīng)常會修改的gradle文件。下面采用注釋的方式來一行一行的解釋每行的意思:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// com.android.application 表示這是一個應(yīng)用程序模塊,可直接運行
apply plugin:?'com.android.application'
android {
// 使用android sdk API28,也就是Android 9.0來編譯你的項目
????compileSdkVersion?28
????defaultConfig {
????//? 應(yīng)用程序的包名
????????applicationId?"com.example.myapplication"
????// 你的項目只能運行在API 16以上,也就是Android 4.1以上
????????minSdkVersion?16
????// 目標(biāo)版本API 28,即你的項目已在Android 9.0上做過充分測試,并且兼容Android 9.0以下版本
????????targetSdkVersion?28
????// 項目版本號
????????versionCode?1
????// 項目版本名
????????versionName?"1.0"
????}
????buildTypes {
????????release {
????????// 項目打包為release版本時不開啟代碼混淆
????????????minifyEnabled?false
????????// 代碼混淆規(guī)則文件
????????????proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),?'proguard-rules.pro'
????????}
????}
}
// 第三方依賴庫及版本
dependencies {
????implementation fileTree(dir:?'libs', include: ['*.jar'])
????implementation?'androidx.appcompat:appcompat:1.1.0'
????implementation?'androidx.recyclerview:recyclerview:1.1.0'
}

Gradle有什么用

從上面4個文件可以看出,我們可以自由配置Gradle版本號、Gradle倉庫地址、Gradle Build版本號,可以配置項目打包的一些配置如applicationId項目包名、targetSdkVersion 版本號、是否開啟代碼混淆、混淆文件路徑、第三方依賴庫及版本等。

相比Eclipse來說Android Studio的Gradle構(gòu)建工具真是香啊。

源碼鏈接:https://yunjunet.cn/876698.html

Android開發(fā)學(xué)習(xí)教程(3)- Gradle構(gòu)建項目的評論 (共 條)

分享到微博請遵守國家法律
平邑县| 保德县| 高碑店市| 大理市| 陈巴尔虎旗| 信宜市| 高碑店市| 廉江市| 蒙城县| 普兰店市| 巍山| 聂荣县| 栾川县| 白银市| 江津市| 建宁县| 海原县| 佛冈县| 惠水县| 固镇县| 昌黎县| 通江县| 法库县| 石阡县| 安达市| 海南省| 如东县| 忻城县| 济宁市| 讷河市| 浦县| 杭州市| 灵山县| 中江县| 合水县| 崇明县| 金溪县| 佛山市| 太仆寺旗| 河南省| 霍林郭勒市|