Android Gradle 详解,flutter中文文档

本文详细介绍了Android Gradle的配置,包括project和app级别的build.gradle文件内容,如依赖库、版本配置、多维度配置及打包选项。同时,提到了Android应用的发布流程和面试技巧,强调了开发者在面试中的表现和心态的重要性。

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

classpath “com.android.tools.build:gradle:4.2.0”

//注意:不要将应用程序依赖项放在这里;他们属于

//app(单个模块)/build.gradle文件中

}

}

//这里面配置整个项目依赖的仓库,这样每个module就不用配置仓库了

allprojects {

repositories {

//代码托管仓库,可以引用 jcenter() 上任何的开源项目

google()

mavenCentral()

jcenter() // 警告:此存储库即将关闭

}

}

// 运行gradle clean时,执行此处定义的task。

// 该任务继承自Delete,删除根目录中的build目录。

// 相当于执行Delete.delete(rootProject.buildDir)

task clean(type: Delete) {

delete rootProject.buildDir

}

三、app/build.gradle

上面讲到了project中的build.gradle,下面咱们看看app/build.gradle

//都表示是一个应用程序的模块,可独立运行

//(两种方式因Android Studio版本不同产生的)

//apply plugin: ‘com.android.application’

plugins {

id ‘com.android.application’

}

都表示是一个依赖库,不能独立运行可生成jar或者aar

//apply plugin: ‘com.android.library’

//plugins {

// id ‘com.android.library’

//}

android {

compileSdkVersion 30//项目的编译版本

defaultConfig {

applicationId “com.scc.demo”//包名

minSdkVersion 23//最低的兼容的Android系统版本

targetSdkVersion 30//目标版本,表示你在该Android系统版本已经做过充分的测试

versionCode 1//版本号

versionName “1.0.0”//版本名称

ndk {

abiFilters ‘armeabi-v7a’, ‘arm64-v8a’

//运行环境,要上传Google Play必须兼容64位,这里仅兼容ARM架构

//对于ARM架构,32 位库位于armeabi-v7a 中。64 位等效项是arm64-v8a。

//对于x86体系结构,查找x86(用于 32 位)和 x86_64(用于 64 位)。

}

}

buildTypes {//配置了多个版本(设置自动打包环境)

release {

minifyEnabled false

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

}

//正常情况上面这个够用了,下面的用来了解

//指定生成安装文件的配置,常有两个子包:release,debug,

// 咱这边多一个子包,多一种配置方式

// 注:直接运行的都是debug安装文件

getByName(“release”) {

minifyEnabled true//是否开启收缩、混淆、优化,true开启

shrinkResources = true // 是否开启资源收缩 ,true开启

//applicationIdSuffix 未设置默认包名 applicationId “com.scc.demo”

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

}

getByName(“debug”) {

applicationIdSuffix = “.debug”//打包后会变成com.scc.demo.debug

minifyEnabled false

}

/**

  • initWith 属性允许您从其他生成类型复制配置,

*/

create(“staging”) {

initWith(getByName(“debug”))

applicationIdSuffix = “.staging”

}

}

//flavorDimensions多维度配置

flavorDimensions “scc”

productFlavors {

create(“demo”) {

// Assigns this product flavor to the “version” flavor dimension.

// If you are using only one dimension, this property is optional,

// and the plugin automatically assigns all the module’s flavors to

// that dimension.

dimension = “scc”

applicationIdSuffix = “.demo”

versionNameSuffix = “-demo”

}

create(“full”) {

dimension = “scc”

applicationIdSuffix = “.full”

versionNameSuffix = “-full”

}

}

//指定jdk版本

//设置代码编译的版本,一般是在使用JDK1.8时,配置这个,使编译出来的jar包让别人使用时更通用

compileOptions {

sourceCompatibility JavaVersion.VERSION_1_8

targetCompatibility JavaVersion.VERSION_1_8

}

}

dependencies {//指定当前项目的所有依赖关系:本地依赖、库依赖、远程依赖

//本地测试,声明测试用列库

testImplementation ‘junit:junit:4.+’

//androidTestImplementation仅为测试APK添加远程依赖项。

androidTestImplementation ‘androidx.test.ext:junit:1.1.2’

//库依赖:(跟app同级文件的项目)

implementation(project(":mylibrary"))

//本地依赖:Gradle在项目app/libs/目录中声明对jar文件的依赖

//(因为 Gradle读取相对于build.gradle文件的路径)。

implementation fileTree(dir: ‘libs’, include: [’*.jar’])

//或者,你可以按如下方式指定单个文件

implementation(name: ‘app-release11’, ext: ‘aar’)

implementation files(‘libs/scc.jar’, ‘libs/stt.jar’)

最后

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

面试过程一定要有礼貌!即使你觉得面试官不尊重你,经常打断你的讲解,或者你觉得他不如你,问的问题缺乏专业水平,你也一定要尊重他,谁叫现在是他选择你,等你拿到offer后就是你选择他了。

另外,描述问题一定要慢!不要一下子讲一大堆,慢显得你沉稳、自信,而且你还有时间反应思路接下来怎么讲更好。现在开发过多依赖ide,所以会有个弊端,当我们在面试讲解很容易不知道某个方法怎么读,这是一个硬伤…所以一定要对常见的关键性的类名、方法名、关键字读准,有些面试官不耐烦会说“你到底说的是哪个?”这时我们会容易乱了阵脚。正确的发音+沉稳的描述+好听的嗓音决对是一个加分项!

最重要的是心态!心态!心态!重要事情说三遍!面试时间很短,在短时间内对方要摸清你的底子还是比较不现实的,所以,有时也是看眼缘,这还是个看脸的时代。

希望大家都能找到合适自己满意的工作!

进阶学习视频

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

到合适自己满意的工作!

进阶学习视频

[外链图片转存中…(img-PGjWyp2J-1643519037795)]

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

[外链图片转存中…(img-kfwADBi0-1643519037796)]

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值