AndroidStudio 3.4更新了啥?

转载自https://blog.csdn.net/z302766296/article/details/89468726

1. Project Structure Dialog(PSD)

其实就是我们平时对项目主程,按下F4的时候,显示的那个dialog。发现里面确实是多了几个功能。如图


发现呢,UI的话还是有点变化的。主要是看看功能变化,上面的Project、SDK Location都可以跳过了,可以看到第三个,新增的Variables。

2. Variables

可以理解成,模块的gradle变量依赖。在UI上面,可以看到整个App的模块目录,然后在目录下面又有不同的dependencies。


先说下这个dependencies是什么呢?为什么有的项目会有dependencies呢?

一般的话,在开发过程中,特别是涉及到模块化开发的时候,为了保证全部模块都使用同一个依赖库的管理,这里一般有两种方法:

1.设置一个叫dependencies.gradle文件,里面主要是设置一些常用第三方库的依赖。
2.直接在主程的build.gradle下创建一个dependencies的节点。

先说方法一,就拿我以前负责搭建的一个项目为例。

然后在项目主程的build.gradle添加依赖

然后在子模块使用

大概就这样吧,一个依赖管理器,然后在主程项目添加引用,再到子模块使用。

方法二:

直接在主程下面的allprojects节点下,添加ext和dependencies节点

两者的方式都是一致的,为了做一个gradle的依赖管理。但是发现只有方案2的会显示在variables上,后面查了下官方的文档,他们的做法也是方案二的做法。

所以呢variables上面主要是一些定义在gradle中的变量。

再看到下面的Modules面板,和之前的功能大致一样,但是多了些提示的功能,UI上面也更加友好。但是和之前的相差不是很大。简单略过下

3. dependencies面板

在3.4版本,dependencies是单独拿了出来,还扩展了不少功能,最关键的一个莫过于是依赖库的查找了 我们以前添加第三方库的依赖,一般是maven找,或者GitHub找对应的库。但是现在AS提供一个搜索依赖库的功能

dependencies面板的说明大概如上了,列出了当前模块依赖的第三方模块、右侧的就是不同构建版本下的依赖信息,可以详细看到依赖包的类。点击的一个dependencies的时候还有具体的提示,如图

依赖库的查找

通过dependencies里面的+小箭头,再选中library dependency就可以调到搜索页面了,可以搜Maven,JCenter等远程的仓库,也可以搜索本地的,大大减少了添加依赖时找包的问题- -。

但是也有一个需要注意的地方,看到这段注释

查找的第三方库都是根据我们projects项目的build.gradle中的repositories中配置的仓库控制。例如jcenter,Maven那些。

所以为了加快搜索速度,一般在projects下的build.gradle中的repositories添加如下配置

buildscript {
    repositories {
        // 添加如下仓库。
        jcenter()
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }
        maven { url "https://mvnrepository.com" }
        // 阿里云镜像
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
        
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
 
allprojects {
    repositories {
        google()
        jcenter()
        
    }
}
 
task clean(type: Delete) {
    delete rootProject.buildDir
}
 

例如添加个OKHttp看看

注意,这里面搜索出来的可能比较多。这就需要取我们常用的,squareup下面的OKHttp3了,然后右侧有一个版本可以选择。点击OK之后,依赖只是添加到了清单文件,但是当我们构建gradle的时候就生效了。

再次点击这里的ok,就开始构建gradle了。

ps:有时候搜索的时候会提示noting to show...那就得看看project->build.gradle中是否配置了上述所说的那些仓库依赖了,有的情况下,添加了仓库依赖之后,也未必能找到。那就多试几次查找就好了。

4. buildVariants面板

buildVariants,感觉这个功能没啥用,因为buildVariants需要配置的远比面板提供的信息要多


5. Suggestions面板:

对当前项目模块构建的信息做一个提示建议,例如依赖的升级

以上就是PSD的东西了,但是3.4更新的ResourceManager也是厉害。直接上图

6.ResourceManager

默认会在左边的侧边栏找到,或者通过View->Tools Window->Resource Manager找到


打开ResourceManager 面板是这样的




感觉ResourceManager真的加快了开发的效率,尤其是在做APK优化,接手项目,查询layout的时候,简直是质的提升。

而且通过filter中勾选library查看第三方依赖的一些layout啊信息等,就可以针对性做优化了。

7. Plugin面板

面板的更新,也改变得比较直观,都是照顾程序员啊,眼睛不好使,所以文字描述啊,分类那些字体都放得大大的。

关键一个好的地方,搜索和结果是放在一起了。以前的版本,每次都要点下下面的browser...这边直接搜一下就ok了。

然后更新的面板也单独抽取出来,比较直观和容易地管理插件

8. R8

什么是R8?看到官网文档,R8是在3.3 beta的时候发布的一个功能,而3.4直接用R8的方式构建项目。

简单来说R8主要是针对proguard做的一系列的优化,将编译中的一部分任务集成在一起,提高了编译效率

未开启R8之前的编译任务如图


R8构建项目


R8效率对比,图来自官网




默认可以在gradle.properties中关闭R8

# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false

再说下,在3.4遇到的功能,可能是之前3.3就有的功能,现在才发现

XML文件中的颜色提示器
XML层级提示器

最后上一个图,很久之前的ICON构造工具了,也是AS自带的= =。坤哥律师函警告
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容