Android高频面试专题 - 架构篇(一)AS项目架构

点击上方 Android扫地僧 ,选择 星标 公众号

重磅资源、干货分享,快上车!

日常开发中AS与Gradle架构使用技巧的高频面试问题。更多其他完整面试专题,请关注公众号获取.

1、project和module的关系

一个project是指一个工作区间,所以一个project可以有多个module,module是模块的意思,每一个module都是可独立运行的程序,而一个project可以关联多个module。

2、Gradle是什么

Gradle是一个自动化构建工具

兼容Maven等仓库

基于Groovy的特定领域语言来声明名目设置

3、Gradle常用命令

gradlew clean: 清除app目录下的build文件夹

gradlew check: 执行lint检查

gradlew assemble:打release和debug包

gradlew build : 执行check和assemble

gradlew assembleRelease/gradlew assembleDebug:打全部渠道的Release或者debug包

4、几种依赖的区别

compile:我们最常用的依赖,编译时提供并打包进apk

provided:编译时提供但不打包进apk

在gradlew 3.0 中complie过期了,用implementation和api替代,api = compile

implemention:将该依赖隐藏在内部,而不对外部公开

5、解决依赖冲突,排除依赖传递

exclude: 设置不编译指定的模块,排除指定模块的依赖

transitive:用于自动处理子依赖项,默认为true,gradle自动添加子依赖项。设置为false排除所有的传递依赖

force:强制设置某个模块的版本

6、Gradle打包时的混淆

通过在buildTypes中配置minifyEnable来开启和关闭proguard

通过proguardFiles 来配置混淆参数与keep的内容

通过shrinkResources 去除没有用到的资源文件

7、Gradle依赖统一配置管理

在根目录下创建自定义名字的.gradle文件,例如:config.gradle

打开项目根目录下的build.gradle, 在最顶上依赖我们刚刚创建的配置文件apply from: “xxx.gradle”

在app模块下的build.gradle中引用即可:compile rootProject.ext.dependencies[“appcompat-v7”]

8、Jenkins+Git+Gradle实现CI自动打包

安装Jenkins,安装需要的插件(比如说git插件、Gradle插件),配置JDK,Git,Gradle等编译环境

创建新的Jenkins项目,配置Git代码仓库地址、配置构建时的Gradle版本,和需要执行的Gradle Task

配置Jenkins项目的构建参数,比如Gradle Task的参数、渠道参数

配置邮件通知

开始构建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值