107

必会 | 手把手带你体验Android Studio 3.0的新功能

 6 years ago
source link: https://mp.weixin.qq.com/s/2XmVG4mKEDX6-bvZ0vvmcw
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

必会 | 手把手带你体验Android Studio 3.0的新功能

Original 鸿洋 鸿洋 2017-10-26 23:30 Posted on

1 概述

昨天听说Studio除了稳定版本的3.0,立马升级了一波~~顺便看了下官网的介绍,实际操作了一哈,下面给大家介绍下一些新功能。

其实官网上有4个视频基本上介绍了对应的功能,四个视频我也替大家下载了,包括gradle-4.1的zip,我上传到百度云了,可以在文末下载。

Image

不要急着拖到文末,先看下Studio 3.0带来的一些惊艳的功能吧~~

2 Device File Explorer

第一个介绍的是设备的文件管理器,我非常喜欢这个面板,介绍下实用的功能:

读取我们debug包的data/data/packageName下的文件,prefs、数据库文件等。

Image

我们可以在data/data/下选择一个我们自己的app:

Image

我们可以直接查看我们的应用程序的内部文件,部分可以直接打开,比如xml文件等,并且我们可以直接右键新建删除上传任意文件(提取sp、数据库文件等)。

比如我上周需要复现一个case,需要用到一个特定的sp文件,就需要想办法push到特定的位置。之前都是run-as,然后从sdcard mv过去。

现在就方便多了。

还有个方便之处就是从SdCard中存取文件变的方便了~

3 Apk Analyzer

这个功能在之前的版本也有,就是我们可以直接打开一个apk文件(File->Open):

Image

可以apk中的资源,类信息等,那么这个版本又做了一些优化:

首先是支持上传mapping文件了,比如我们一个混淆后的apk,会同时生成一个mapping文件,可以很方便的还原混淆(点击上面框住的按钮即可)。

初次以外还增加了一些功能:

直接查看某个类反编译后的字节码:

Image

直接查看某个方法的引用情况:

Image

直接生成某个类、字段、方法的keep rule:

Image

以上操作可以是任意apk,好像对反编译很有帮助~~

4 Android Profiler

这个可以在下图位置找到:

Image

其他的面板找不到,也可以在这里找到。

主要用于性能分析,和之前的Monitor类似,但是功能强大了不是一点~

Image

最上面会记录每个Activity的打开,以及你的一些操作(上面的小圆点,点击按钮等)。

下面分别是CPU、内存、网络。

先看下网络

Image

我点击了一下拉取数据,可以看到有一次明显的网络传输,我们按住左键然后框选这个区域:

Image

可以看到我们本地网络请求返回的数据,本例是json;以及请求的相关信息;以及调用栈。

是不是感觉跟抓包有点像~

有没有被惊艳到!

CPU内存的话类似,可以实时的监控当前的数据,并支持点击录制(再次点击关闭),会自动进行分析,效果图如下:

Image
Image

这块有兴趣的可以好好研究哈~~

5 Java 8 Support

3.0也对Java8带来了更好的支持,下面通过几个小例子展示下:

首先记得,在build.gradle文件中写入:

android {    //...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

或者可以可视化的操作:

File->Project Structure 

Image

选中module,指定为1.8也会在build.gradle文件中自动写入。

现在我们编写一段常见的代码:

mBtn = findViewById(R.id.id_btn);
mBtn.setOnClickListener(new View.OnClickListener() {    
   @Override    public void onClick(View view) {        Toast.makeText(                SecondActivity.this,                
               "嘿嘿嘿",
               Toast.LENGTH_SHORT).show();    } });

看一段Gif吧:

Image

可以看到其对lambda支持,且支持匿名内部类到lambda的自动转化,非常方便我们熟悉lambda语法。

我们再看一个Java8的特性,在Java 8中,接口内是允许有默认的方法(实现了该接口即包含该方法)和静态方法的。

public interface IFun {    

default String testDefaultMethod() {        
       return "I am default method";    }    

static String testStatisMethod(){        
       return "I am static method.";    } }

可以支持直接这么写了。

当然并非所有的特性都支持所有版本了,还是有部分特性需要在24以上才能支持:

Image

继续往下看吧~~

6 Kotlin Support

这个之前的版本插件也都支持了~~简单说一哈~

新建项目的支持可以选择support kotlin

Image

也可以在以前的项目中,直接New Kotlin File:

Image

可以选择New Activity,选择:

Image

还可以将某个Java类直接转化为Kotlin File

Image

好了,大致介绍这么多,还有更多的可以在官网中探索~

7 一些你可能遇到的问题

首先Studio更新很简单,直接Check for Updates即可:

Image

这个想必都没问题。

安装重启后,会提示你去更新gradle tool,这里建议你对老项目先暂时点击dont remind me on this project,以防有坑。

新建一个项目玩一哈,提示你可以点击确定。当然你也可以手动去更新,需要修改两个地方:

项目的build.gradle(不是module):

Image

更新到3.0.0,你也可以在仓库中加上google()。

Image

点击gradle-wrapper.properties,修改gradle文件为4.1。

然后点击同步....

这里有很大可能性,你会没有办法下载成功该文件,read timeout之类的错误。

不要担心,这个文件我放在百度云,可以下载下来,然后放到用户目录的(Mac):

Image

该目录下,zip文件直接放入:

Image

然后重启Studio即可。

windows一般在 C:\Users\Administrator\.gradle 

注意:Java8 support 一定需要在gradle插件配置成功后。

对于Android Profiler你可以也会遇到没有办法框选的问题:

Image

点击Run Config:

Image

可能你是一个老项目,API<26。

有两个办法:

1、更新API到26

2、按照上述更新gradle plugin,然后Enable的复选框就可以选择了。

你可能用上的文件下载(官方介绍视频和gradle-4.1.zip)直接公众号内回复:AS3 获取(防止链接失效,方便我更新回复~)。

欢迎长按下图->识别图中二维码或者扫一扫关注我的公众号:

Image

如果你有想学习的文章直接留言,我会整理征稿。如果你有好的文章想和大家分享欢迎投稿,直接向我投递文章链接即可。

死板、呆萌、宅、不解人意…作为一名敲代码为生的程序员,你是不是被旁人贴过太多不属于你的标签?

1024程序员节这天,100offer给你一个撕掉标签的机会:关注100offer微信号,发送一段话/一张图/一段视频/一条语音…展示你除了敲代码以外的神技能,还有最高价值1024元的“程序员兴趣基金”等你拿!

Image

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK