昨天听说Studio除了稳定版本的3.0,立马升级了一波~~顺便看了下官网的介绍,实际操作了一哈,下面给大家介绍下一些新功能。
不要急着拖到文末,先看下Studio 3.0带来的一些惊艳的功能吧~~
2 Device File Explorer
第一个介绍的是设备的文件管理器,我非常喜欢这个面板,介绍下实用的功能:
读取我们debug包的data/data/packageName下的文件,prefs、数据库文件等。
我们可以在data/data/下选择一个我们自己的app:
我们可以直接查看我们的应用程序的内部文件,部分可以直接打开,比如xml文件等,并且我们可以直接右键新建、删除、上传任意文件(提取sp、数据库文件等)。
比如我上周需要复现一个case,需要用到一个特定的sp文件,就需要想办法push到特定的位置。之前都是run-as,然后从sdcard mv过去。
现在就方便多了。
还有个方便之处就是从SdCard中存取文件变的方便了~
3 Apk Analyzer
这个功能在之前的版本也有,就是我们可以直接打开一个apk文件(File->Open):
可以apk中的资源,类信息等,那么这个版本又做了一些优化:
首先是支持上传mapping文件了,比如我们一个混淆后的apk,会同时生成一个mapping文件,可以很方便的还原混淆(点击上面框住的按钮即可)。
初次以外还增加了一些功能:
直接查看某个类反编译后的字节码:
直接查看某个方法的引用情况:
直接生成某个类、字段、方法的keep rule:
以上操作可以是任意apk,好像对反编译很有帮助~~
4 Android Profiler
这个可以在下图位置找到:
其他的面板找不到,也可以在这里找到。
主要用于性能分析,和之前的Monitor类似,但是功能强大了不是一点~
最上面会记录每个Activity的打开,以及你的一些操作(上面的小圆点,点击按钮等)。
下面分别是CPU、内存、网络。
先看下网络 :
我点击了一下拉取数据,可以看到有一次明显的网络传输,我们按住左键然后框选这个区域:
可以看到我们本地网络请求返回的数据,本例是json;以及请求的相关信息;以及调用栈。
是不是感觉跟抓包有点像~
有没有被惊艳到!
CPU和内存的话类似,可以实时的监控当前的数据,并支持点击录制(再次点击关闭),会自动进行分析,效果图如下:
内存:
CPU:
这块有兴趣的可以好好研究哈~~
5 Java 8 Support
3.0也对Java8带来了更好的支持,下面通过几个小例子展示下:
首先记得,在build.gradle文件中写入:
android { //... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }}
或者可以可视化的操作:
File->Project Structure
选中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吧:
可以看到其对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以上才能支持:
继续往下看吧~~
6 Kotlin Support
这个之前的版本插件也都支持了~~简单说一哈~
新建项目的支持可以选择support kotlin
也可以在以前的项目中,直接New Kotlin File:
可以选择New Activity,选择:
还可以将某个Java类直接转化为Kotlin File
好了,大致介绍这么多,还有更多的可以在官网中探索~
7 一些你可能遇到的问题
首先Studio更新很简单,直接Check for Updates即可:
这个想必都没问题。
安装重启后,会提示你去更新gradle tool,这里建议你对老项目先暂时点击dont remind me on this project,以防有坑。
新建一个项目玩一哈,提示你可以点击确定。当然你也可以手动去更新,需要修改两个地方:
项目的build.gradle(不是module):
更新到3.0.0,你也可以在仓库中加上google()。
点击gradle-wrapper.properties,修改gradle文件为4.1。
然后点击同步....
这里有很大可能性,你会没有办法下载成功该文件,read timeout之类的错误。
该目录下,zip文件直接放入:
然后重启Studio即可。
windows一般在 C:\Users\Administrator\.gradle
注意:Java8 support 一定需要在gradle插件配置成功后。
对于Android Profiler你可以也会遇到没有办法框选的问题:
点击Run Config:
可能你是一个老项目,API<26。
有两个办法:
1、更新API到26
2、按照上述更新gradle plugin,然后Enable的复选框就可以选择了。
閱讀更多 攻城獅養成記 的文章