gradle编译java签名_三、Gradle初级教程——Gradle除了签名打包还能配置jar包

本文介绍了Gradle作为构建工具的基本概念,强调了通过配置jar包的方式简化更新流程。详细讲解了如何在Android Studio和命令行下进行签名打包,并探讨了gradle wrapper的工作原理。此外,还提到了BuildConfig类在区分测试和生产环境中的作用,以及module和build.gradle文件的相关参数含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、gradle概念

构建工具,Groovy,Java。

2、gradle配置jar包,和libs文件夹导入jar包的区别

1b2ab2823ff760519c2233eed74f2982.png

45c7aac16fd00f7282b5bbc637fe209e.png

2bf8e52099e68cffa6699c844e25e0e6.png

f36de5902f7cfd72c8a060cd5cb769ed.png

b106a91122b58678b4b01755f9b38900.png

到此,还是这种方法导入JAR包比较方便。每次更新JAR包,只需要修改版本号就可以。这样不用每次下载JAR包,还得导入,每次更新还要覆盖。麻烦。如果没有得话,就只能老老实实的去自己下载JAr包,然后导入进来使用。

5afa3e40638b1ac2e7b269e244b46e17.png

3、签名打包

a, Studio

Build --------- Generate Signed APK

20e22ced2a1ecbcc4674cc05b62191d3.png

b, 命令行

第一步,现在build.gradle文件中配置签名信息。

dbba07484e86a25a55ff674542b66ca7.png

e5db43e4bcc4d39dddf71c858b6d2d1a.png

99dcfe02bd8d940ca5b5f8f92a404a95.png

第二步,用命令行打包APK.

./gradlew assembleRelease

gradlew assembleRelease

// TODO

c, gradle wrapper的原理

为什么使用 gradlew?

gradlew ---> gradle wrapper ---> gradle assembleRelease

间接调用:gradlew运行的时候,会去调用gradle wrapper, gradle wrapper会去找到系统中的

gradle,然后调用这个gradle去执行assembleRelease。这样调用的话就不用去配

置环境变量了,它会根据你的配置去找到相应版本的gradle,然后去执行。

8a823d55768036029abd8ac217e7ef7d.png

distributionUrl:首先我们在加载这个工程的时候,gradle wrapper回去检查我当前有没有这个gradle-2.8-all版本的gradle。如果有我就连接上,直接加载工程。如果没有,gradle wrapper会根据这个地址去下载这个版本的gradle。这也是为什么第一次新建工程,运行,有一个gradle的下载(加载)过程。

4、BuildConfig的使用

是IDE自动帮助我们生成的一个类。

90c3298837c99a7f52b2ab9944e83966.png

打印Log信息的时候,可以用BuildConfig.DEBUG去判断,好处是,如果你打包正式版APK的话。DEBUG会自动变成false.我们也可以用来区别测试环境和生产环境来进行使用。

4d659177b38b582bb1a368db87b95a89.png

5、简单介绍module和build.gradle文件参数含义

apply plugin: 'com.android.application'

android {

signingConfigs {

FirstDemo {

keyAlias 'FirstDemo'

keyPassword '123456'

storeFile file('E:/Android_studio/FirstDemo.jks')

storePassword '123456'

}

}

// 编辑的SDK版本

compileSdkVersion 23

// 构建工具的版本

buildToolsVersion "23.0.2"

defaultConfig {

// 应用程序的包名

applicationId "com.firstdemo"

minSdkVersion 21

targetSdkVersion 23

versionCode 1

versionName "1.0"

}

// 构建类型

buildTypes {

release {

// 控制是否需要混淆代码

minifyEnabled false

// 代码混淆文件

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

signingConfig signingConfigs.FirstDemo

}

}

}

dependencies {

/* 将所有libs文件下的,所有JAR包,全部导入 */

compile fileTree(dir: 'libs', include: ['*.jar'])

testCompile 'junit:junit:4.12'

/* 是导入JAR包,也是AAR包(包括代码和资源文件) */

compile 'com.android.support:appcompat-v7:23.1.1'

compile 'com.android.support:support-v4:23.1.1'

/* 是导入一个Modle文件的意思 */

compile project(':stickyscroll')

/* 是导入JAR包 */

compile 'com.google.code.gson:gson:2.2.4'

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值