標籤:
本文為原創文章,轉載請註明出處。
本文主要推薦給由Eclipse開發轉向使用Android Studio(以下簡稱:AS)的開發人員,介紹AS最基本以及最常用的功能,老司機請繞道哦O(∩_∩)O,以免耽誤寶貴的時間。
主要內容:
(1)環境搭建
(2)建立項目(含Module建立)
(3)代碼混淆
(4)常用調試功能及應用分析相關
(5)打包APK
一、環境搭建(Windows)
(1)安裝JDK,,注意AS要求JDK7及更高版本,安裝過程不再贅述;
(2)AS下載,如果因特殊原因不能官網下載,請移步這裡下載;
(3)AS安裝
1.注意選擇自己合適的安裝位置,如:
2.順利的話一步一步安裝成功,出現以下介面:
3.首次回合組態
4.順利的話就可以進入AS啟動頁面了,如果出現Android SDK下載失敗,請移步這位朋友寫的處理方法進行處理。
二、建立項目(含Module建立)
(1)建立項目
進入AS,左上方單擊File->New->New Project,如下:
進入以下介面:
下一步:
下一步:
下一步:
完成。
(2)主介面介紹
(3)預覽
(4)建立Module
對於中大型項目AS提供了Module(即模組),主要便於項目分層以及分離邏輯,使項目邏輯更加清晰也便於項目維護。建立模組如下:
進入以下頁面:
進入下一步,完成建立後如下:
關於Module的建立及使用可以參考我的另一篇文章。
二、代碼混淆
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 *;
}
四、常用調試功能及應用分析相關
(1)建立模擬器(建立過程省略)
(2)運行模擬器
(3)應用分析相關
1.日誌輸出,如所示。
2.記憶體分析
a:
b:
c:
d:記憶體資訊採集
e:使用MemoryAnalyzer(MAT)分析記憶體泄露
首先,直接將上一步產生的hprof檔案匯入MAT工具中是無法使用的,需要進行轉換,有兩種方式可以實現轉換:
- 方法二:通過hprof-conv工具轉換後再匯入MAT工具中,hprof-conv工具在Android SDK 下platform-tools目錄中,如下:
將Snapshot_2016.07.20_21.52.57.hprof檔案拷貝至e:/1/檔案夾下,cmd到hprof-conv.exe目錄下並執行轉換命令,如下:
產生目標3.hprof檔案,如下:
MAT中匯入轉換後的hprof檔案,如下所示:
CPU、GPU等選項卡就不再贅述了,大家可以自己研究。
五、打包APK
Build->Generate Signed APK
出現以下介面:
(1)建立新的JKS簽名檔案,如下:
(2)選擇現有的JKS檔案
(3)我們這裡示範建立新的JKS簽名檔案,如下:
點擊OK,出現如下介面:
點擊Next,如下:
點擊Finish,成功產生帶我們自己簽名的APK檔案:
以後APP新版本發布時就可以使用剛才產生的JKS檔案進行簽名,注意同一APP新版本的簽名檔案必須與舊版本的簽名檔案為同一個,多個APP可以共用同一個簽名檔案,原因就不多說了。
總結,本文主要講解使用AS建立項目、調試項目、發布的最基本使用,隨著熟悉程度的提高大家都可以自己深入研究,比如Gradle構建、記憶體分析等等。
Android Studio基本使用