本文主要推薦給由Eclipse開發轉向使用Android Studio(如下簡稱:AS)的開發者,介紹AS最基本以及最經常使用的功能,老司機請繞道哦O(∩_∩)O,以避免耽誤寶貴的時間。html
主要內容:java
(1)環境搭建android
(2)新建項目(含Module建立)android-studio
(3)代碼混淆oracle
(4)經常使用調試功能及應用分析相關工具
(5)打包APKgradle
1、環境搭建(Windows)ui
(1)安裝JDK,下載地址,注意AS要求JDK7及更高版本,安裝過程再也不贅述;.net
(2)AS下載,若是因特殊緣由不能官網下載,請移步這裏下載;調試
(3)AS安裝
1.注意選擇本身合適的安裝位置,以下圖:
2.順利的話一步一步安裝成功,出現如下界面:
3.首次運行配置
4.順利的話就能夠進入AS啓動頁面了,若是出現Android SDK下載失敗,請移步這位朋友寫的處理方法進行處理。
2、新建項目(含Module建立)
(1)建立項目
進入AS,左上角單擊File->New->New Project,以下:
進入如下界面:
下一步:
下一步:
下一步:
完成。
(2)主界面介紹
(3)預覽
(4)建立Module
對於中大型項目AS提供了Module(即模塊),主要便於項目分層以及分離邏輯,使項目邏輯更加清晰也便於項目維護。建立模塊以下:
進入如下頁面:
進入下一步,完成建立後以下:
關於Module的建立及使用能夠參考個人另外一篇文章。
2、代碼混淆
AS項目由Gradle構建及管理項目,應用相關的不少信息均可以在這裏設置,以下:
AS中進行代碼混淆須要在build.gradle文件和proguard-rules.pro文件中進行設置(能夠經過jd-gui工具對比混淆先後效果):
(1)build.gradle文件
minifyEnabled:表示是否開啓混淆,默認爲false
proguardFiles:混淆配置文件,通常就採用項目中默認的proguard-rules.pro文件。
(2)proguard-rules.pro文件
混淆設置,具體可參考progurad官網。
注意圖中紅框部分,由於全部jar包(此處已JAR包混淆舉例,APP混淆與此相似)都要求有對外接口(沒有對外接口的模塊通常也沒什麼意義),有多種種方式設置對外接口類:
a:-keep public class *,例如:
-keep public class * {
public protected *;
}
b:如上圖所示。
由於一個模塊通常有不少類文件,混淆時咱們但願除對外接口類的其餘全部類文件的類名也進行混淆,那麼就能夠單首創建一個基類或接口,讓對外的接口類繼承該基類或接口。
c:-keep public class XXX,特定類不混淆,例如:
-keep public class xiaoshubao.player.UserLogin{
public protected *;
}
4、經常使用調試功能及應用分析相關
(1)建立模擬器(建立過程省略)
(2)運行模擬器
(3)應用分析相關
1.日誌輸出,如上圖所示。
2.內存分析
a:
b:
c:
d:內存信息採集
e:使用MemoryAnalyzer(MAT)分析內存泄露
首先,直接將上一步生成的hprof文件導入MAT工具中是沒法使用的,須要進行轉換,有兩種方式能夠實現轉換:
將Snapshot_2016.07.20_21.52.57.hprof文件拷貝至e:/1/文件夾下,cmd到hprof-conv.exe目錄下並執行轉換命令,以下:
生成目標3.hprof文件,以下:
MAT中導入轉換後的hprof文件,以下所示:
CPU、GPU等選項卡就再也不贅述了,你們能夠本身研究。
5、打包APK
Build->Generate Signed APK
出現如下界面:
(1)建立新的JKS簽名文件,以下:
(2)選擇現有的JKS文件
(3)咱們這裏演示建立新的JKS簽名文件,以下:
點擊OK,出現以下界面:
點擊Next,以下:
點擊Finish,成功生成帶咱們本身簽名的APK文件:
之後APP新版本發佈時就可使用剛纔生成的JKS文件進行簽名,注意同一APP新版本的簽名文件必須與舊版本的簽名文件爲同一個,多個APP能夠共用同一個簽名文件,緣由就很少說了。
總結,本文主要講解使用AS建立項目、調試項目、發佈的最基本使用,隨着熟悉程度的提升你們均可以本身深刻研究,好比Gradle構建、內存分析等等。