界面介紹
講解1
這個(gè)界面,顯示了我們使用 Android Studio時(shí)經(jīng)常接觸到的功能面板。
Project 面板。
用于瀏覽項目文件。 Project 面板會(huì )顯示當前的所有的 module 。 android application module 會(huì )顯示一個(gè)手機圖標(下圖中的 app );android library module 會(huì )顯示一個(gè)書(shū)架圖標(下圖中的 android-lib);java library module 會(huì )顯示一個(gè)咖啡圖標(下圖中的 java-lib )。
Build Variants 面板。
用于設置當前項目的 Build Variants ( Gradle 知識)。所有的 Module 默認都會(huì )有 release 和 debug 兩種選項。當你添加了 BuildTypes 和 productFlavors ,這里將出現更多的選項( Gradle 知識)。默認情況下, release 和 debug 的區別并不是很明顯;針對于代碼來(lái)說(shuō),是沒(méi)有區別的。
Android 面板。
功能類(lèi)似于 Eclipse 中的 Logcat ,但是比其多了一些常用功能,例如:截圖,查看系統信息等。
編輯區。
用于編輯文件。
Gradle 面板。
Gradle 任務(wù)列表,雙擊可執行 Gradle 任務(wù)。常用任務(wù): build 、 clean 、 assemble 、assembleRelease 、 assembleDebug 、 lint 。
講解2
切換 Project 視圖。
默認的Project 面板顯示的目錄結構為 Android 。通過(guò)點(diǎn)擊可以進(jìn)行切換。
常用按鈕
講解3
編譯右側 module 列表中顯示的 module 。
當前 project 的 module 列表。
運行左側 module 列表中顯示的 module 。
debug 左側 module 列表中顯示的 module 。
attach debugger to Android process 。
設置。
項目屬性。
使用 Gradle 編譯 project 。
虛擬機。
SDK Manager 。
DDMS 。
常用面板
講解4
Structure 用于顯示當前活動(dòng)文件的結構。不僅僅支持 Java 文件,同時(shí)支持 Xml 文件、 .properties 配置文件等其他文件。
講解5
當你查看布局文件或者 drawable 的 Xml 文件時(shí),右側會(huì )有 Preview 選項。用于預覽效果。
講解6
Terminal 面板。作用和命令行一下,你可以在這里執行一些命令行命令。
講解7
Memory Monitor 用于查看 app 的內存使用情況。
講解8
當你的項目使用到了版本控制則會(huì )出來(lái) Changes 面板。用于顯示針對本地版本庫,你修改的文件列表。默認的,修改文件顯示為藍色,新建文件為青色,刪除文件為灰色。
.gradle 文件簡(jiǎn)單介紹
一個(gè) Android Studio 項目中,會(huì )存在多個(gè) .gradle 文件。其中, project 目錄下存在一個(gè) build.gradle 文件和一個(gè)settings.gradle 文件;每一個(gè) module 會(huì )存在一個(gè) build.gradle 文件。
本文只是簡(jiǎn)略的講解一下默認生成的 .gradle 文件的內容,更多 Gradle Plugin 的知識,請看這里。
{@projectName}\build.gradle
講解9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
默認的 project 目錄下的 build.gradle 文件內容如上。
buildscript :用于設置驅動(dòng)構建過(guò)程的代碼。
jcenter():聲明使用 maven 倉庫。在老版本中,此處為 mavenCentral()。
3. **mavenLocal()** :表示依賴(lài)從本地的Maven倉庫中獲取。
mavenCentral() :表示依賴(lài)從 Central Maven 2 倉庫中獲取。
jcenter() :表示依賴(lài)從 Bintary’s JCenter Maven 倉庫中獲取。
dependencies :聲明了使用 Android Studio gradle 插件版本。一般升級AS或者導入從Eclipse中生成的項目時(shí)需要修改下面gradle版本。具體的版本對應關(guān)系,請點(diǎn)擊。
allprojects:設置每一個(gè) module 的構建過(guò)程。在此例中,設置了每一個(gè) module 使用 maven 倉庫依賴(lài)。
在景德鎮,默認的maven源可能無(wú)法訪(fǎng)問(wèn),可以通過(guò)以下的方式設置其他的maven源。當然,你也可以設置依賴(lài)本地庫。
maven {
url 'http://xx.xxx.xxx/xxx'
}
開(kāi)源中國的源地址為:
http://maven.oschina.net/content/groups/public/
開(kāi)源中國的thirdparty源地址為:
http://maven.oschina.net/content/repositories/thirdparty/
一個(gè)項目可以有好幾個(gè)庫。 Gradle 會(huì )根據依賴(lài)定義的順序在各個(gè)庫里尋找它們。在第一個(gè)庫里找到就不會(huì )再在第二個(gè)庫里進(jìn)行尋找。
{@projectName}\settings.gradle
講解10
1
include ':app'
默認的 project 目錄下的 settings.gradle 文件內容如上??捎锌赡苣J情況下, project 目錄下的settings.gradle 文件不存在,你可以自己創(chuàng )建。
include ‘:app’:表示當前 project 下有一個(gè)名稱(chēng)為 app 的 module 。
如果你的一個(gè) module 并不是 project 根目錄下,你可以這么設置。
1
2
include ':app2'
project(':app2').projectDir = new File('path/to/app2')
{@moduleName}\build.gradle
講解11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion '21.1.2'
defaultConfig {
applicationId 'cc.bb.aa.myapplication'
minSdkVersion 10
targetSdkVersion 21
versionCode 1
versionName '1.0'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
默認的 module 目錄下的 build.gradle 文件內容如上。
apply plugin: ‘com.android.application’:
表示使用 com.android.application 插件。也就是表示,這是一個(gè) android application module 。com.android.library 表示,這是一個(gè) android library module 。
android:
配置所有android構建過(guò)程需要的參數。
compileSdkVersion:
用于編譯的 SDK 版本。
buildToolsVersion:
用于 Gradle 編譯項目的工具版本。
defaultConfig:
Android 項目默認設置。
5. **versionName**:版本名稱(chēng)。
applicationId:應用程序包名。
minSdkVersion:最低支持 Android 版本。
targetSdkVersion:目標版本。實(shí)際上應為測試環(huán)境下測試機的 Android 版本。
versionCode:版本號。
buildTypes:
編譯類(lèi)型。默認有兩個(gè): release 和 debug 。我們可以在此處添加自己的 buildTypes ,可在 Build Variants 面板看到(見(jiàn) 講解1 )。
2. **proguardFiles**:
使用的混淆文件,可以使用多個(gè)混淆文件。此例中,使用了 **SDK** 中的 **proguard-android.txt** 文件以及當前 **module** 目錄下的 **proguard-rules.pro** 文件。
minifyEnabled:
是否使用混淆。在老版本中為 runProguard ,新版本之所換名稱(chēng),是因為新版本支持去掉沒(méi)使用到的資源文件,而 runProguard 這個(gè)名稱(chēng)已不合適了。
dependencies:
用于配制引用的依賴(lài)。
2. **compile ‘com.android.support:appcompat-v7:21.0.3′**:
引用 **21.0.3**版本的 **appcompat-v7** (也就是常用的 **v7** library 項目)。
compile fileTree(dir: ‘libs’, include: ['*.jar']):
引用當前 module 目錄下的 libs 文件夾中的所有 .jar 文件。
版本控制
講解12
當你在 Android Studio中創(chuàng )建了一個(gè)項目之后,默認是沒(méi)有版本控制的。如果你想對項目進(jìn)行版本控制,可以這么設置。
VCS –> Enable Version Control Integration 。
如果你想取消某一個(gè)項目的版本控制,你可以在設置頁(yè)面中設置。
Version Control 右側列表中,選擇目標 module ,在點(diǎn)擊右側的減號即可。
講解13
如果你想從版本服務(wù)器中遷出項目,你可以這么設置。
VCS –> Checkout from Version Control ,選擇服務(wù)器的版本控制工具,填寫(xiě)地址即可遷出。
在 Android Studio 起始頁(yè)面也可以進(jìn)行遷出。
點(diǎn)擊 Checkout from Version Control,選擇服務(wù)器的版本控制工具,填寫(xiě)地址即可遷出。