昨天聽說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的複選框就可以選擇了。
閱讀更多 攻城獅養成記 的文章