Android开发学习教程(3)- Gradle构建项目

0 988

—— 既然庸庸碌碌也难逃一死,何不奋起一搏? ——荷马史诗

如果用过Eclipse写过Java项目的同学一定还记得,当一个项目需要依赖第三方库的时侯,我们需要先去下载.jar文件,然后再Build Path,或者直接打开Build Path设置,再Add Jar文件进去,这两种操作都绕不开的就是都需要把第三方依赖库.Jar文件”引入”到项目中,我们程序中才能Load到 .Jar文件中的 .Class类文件。

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

Gradle是什么

Gradle是一个项目自动化构建工具。它可以帮你管理项目中的第三方包依赖关系,项目编译,项目打包,项目部署等,也通过编辑build.gradle来定义自己需要的构建逻辑。

我们回到上一篇文章中的第4小点Gradle Scripts文件夹。与gradle有关的有4个文件:

Android开发学习教程(3)- Gradle构建项目

我们将项目结构切换成Project模式能更直观的看到这4个文件在项目中的路径:

Android开发学习教程(3)- Gradle构建项目

我们先来看第①个文件工程目录下的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的内存给gradle的JVM、项目使用AndroidX依赖库而非Support依赖库、Android插件会通过重写其二进制文件来自动迁移现有的第三方库,以使用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

这个比较好理解了,就是设置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'
}

这个文件是我们平常开发中最经常会修改的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 表示这是一个应用程序模块,可直接运行
apply plugin: 'com.android.application'
android {
// 使用android sdk API28,也就是Android 9.0来编译你的项目
    compileSdkVersion 28
    defaultConfig {
    //  应用程序的包名
        applicationId "com.example.myapplication"
    // 你的项目只能运行在API 16以上,也就是Android 4.1以上
        minSdkVersion 16
    // 目标版本API 28,即你的项目已在Android 9.0上做过充分测试,并且兼容Android 9.0以下版本
        targetSdkVersion 28
    // 项目版本号
        versionCode 1
    // 项目版本名
        versionName "1.0"
    }
    buildTypes {
        release {
        // 项目打包为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'
}

Gradle有什么用

从上面4个文件可以看出,我们可以自由配置Gradle版本号、Gradle仓库地址、Gradle Build版本号,可以配置项目打包的一些配置如applicationId项目包名、targetSdkVersion 版本号、是否开启代码混淆、混淆文件路径、第三方依赖库及版本等。

相比Eclipse来说Android Studio的Gradle构建工具真是香啊。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章资源,如无特殊说明或标注,均为本站网友和创作者贡献分享。如若本站内容侵犯了原著者的合法权益,可联系网站客服QQ2743319061删除。

云炬星球 安卓教程 Android开发学习教程(3)- Gradle构建项目 https://src.yunjunet.cn/876698.html

常见问题
  • 放心亲,我们不会为了几十块钱的东西坏了名声!
查看详情
  • 方法一:点击“立即下载.”按钮,付款后在下载弹窗的虚线框的隐藏信息里获取 方法二:在正文底部使用VIP查看隐藏的解压密码 方法三:联系【云炬网络】公众号客服获取
查看详情
  • 付款后会出现“立即下载”按钮(点击即可下载),如果下载失败也可以联系客服发订单截图补发。
查看详情
  • 登录购买会多端同步购买记录,永久可以查看反复下载;非登录购买仅将购买记录保存到本地浏览器中,浏览器cookie清除后无法再次下载。先右上角点登录,然后点击微信图标可以快速授权注册登录^_^
查看详情
  • 可以试看。点击”查看演示“或“试看预览”按钮可以试读从资料目录中节选的部分内容,也可以自己指定想试看的内容。
查看详情
  • 原因一:本站所有资源已开启有效性检测(服务器24h全自动监测),当监测到下载链接无法访问时会提示“该资源已失效,请勿购买”,遇到这种情况可以联系客服修复失效的下载链接,或直接联系客服在淘宝下单购买即可。(检测原理:购买前服务器程序会预访问下载链接,响应值为200说明资源有效允许购买,响应值为404或502等报错说明资源失效禁止购买)。原因二:上传者未启用“下载”选项。
查看详情
官方客服团队

为您解决烦忧 - 24小时在线 专业服务