為了簡化 Android 的開發力度,Google 決定將重點建設 Android Studio 工具。Google 會在今年年底停止支持其他集成開發環境,比如 Eclipse。
Android Studio 是第一個官方的 Android 開發環境。其他工具,例如 Eclipse,在 Android Studio 發布之前已經有了大規模的使用。為了幫助開發者轉向 Android Studio,谷歌已經寫出一套遷移指南。
具體內容可到http://android-studio.org/查看
本文為其中常用功能介紹篇:
Android Studio 的基本用法
界面介紹
講解1
這個界面,顯示了我們使用 Android Studio時經常接觸到的功能面板。
- Project 面板。
用於浏覽項目文件。 Project 面板會顯示當前的所有的 module 。 android application module 會顯示一個手機圖標(下圖中的 app );android library module 會顯示一個書架圖標(下圖中的 android-lib);java library module 會顯示一個咖啡圖標(下圖中的 java-lib )。
- Build Variants 面板。
用於設置當前項目的 Build Variants ( Gradle 知識)。所有的 Module 默認都會有 release 和 debug 兩種選項。當你添加了 BuildTypes 和 productFlavors ,這裡將出現更多的選項( Gradle 知識)。默認情況下, release 和 debug 的區別並不是很明顯;針對於代碼來說,是沒有區別的。
- Android 面板。
功能類似於 Eclipse 中的 Logcat ,但是比其多了一些常用功能,例如:截圖,查看系統信息等。
- 編輯區。
用於編輯文件。
- Gradle 面板。
Gradle 任務列表,雙擊可執行 Gradle 任務。常用任務: build 、 clean 、 assemble 、assembleRelease 、 assembleDebug 、 lint 。
講解2
切換 Project 視圖。
默認的Project 面板顯示的目錄結構為 Android 。通過點擊可以進行切換。
常用按鈕
講解3
- 編譯右側 module 列表中顯示的 module 。
- 當前 project 的 module 列表。
- 運行左側 module 列表中顯示的 module 。
- debug 左側 module 列表中顯示的 module 。
- attach debugger to Android process 。
- 設置。
- 項目屬性。
- 使用 Gradle 編譯 project 。
- 虛擬機。
- SDK Manager 。
- DDMS 。
常用面板
講解4
Structure 用於顯示當前活動文件的結構。不僅僅支持 Java 文件,同時支持 Xml 文件、 .properties 配置文件等其他文件。
講解5
當你查看布局文件或者 drawable 的 Xml 文件時,右側會有 Preview 選項。用於預覽效果。
講解6
Terminal 面板。作用和命令行一下,你可以在這裡執行一些命令行命令。
講解7
Memory Monitor 用於查看 app 的內存使用情況。
講解8
當你的項目使用到了版本控制則會出來 Changes 面板。用於顯示針對本地版本庫,你修改的文件列表。默認的,修改文件顯示為藍色,新建文件為青色,刪除文件為灰色。
.gradle 文件簡單介紹
一個 Android Studio 項目中,會存在多個 .gradle 文件。其中, project 目錄下存在一個 build.gradle 文件和一個settings.gradle 文件;每一個 module 會存在一個 build.gradle 文件。
本文只是簡略的講解一下默認生成的 .gradle 文件的內容,更多 Gradle Plugin 的知識,請看這裡。
{@projectName}uild.gradle
講解9
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
默認的 project 目錄下的 build.gradle 文件內容如上。
- buildscript :用於設置驅動構建過程的代碼。
- jcenter():聲明使用 maven 倉庫。在老版本中,此處為 mavenCentral()。
- mavenCentral() :表示依賴從 Central Maven 2 倉庫中獲取。
- jcenter() :表示依賴從 Bintary’s JCenter Maven 倉庫中獲取。3. **mavenLocal()** :表示依賴從本地的Maven倉庫中獲取。
- dependencies :聲明了使用 Android Studio gradle 插件版本。一般升級AS或者導入從Eclipse中生成的項目時需要修改下面gradle版本。具體的版本對應關系,請點擊。
- allprojects:設置每一個 module 的構建過程。在此例中,設置了每一個 module 使用 maven 倉庫依賴。
在景德鎮,默認的maven源可能無法訪問,可以通過以下的方式設置其他的maven源。當然,你也可以設置依賴本地庫。
maven {
url http://xx.xxx.xxx/xxx
}
開源中國的源地址為:
http://maven.oschina.net/content/groups/public/
開源中國的thirdparty源地址為:
http://maven.oschina.net/content/repositories/thirdparty/
一個項目可以有好幾個庫。 Gradle 會根據依賴定義的順序在各個庫裡尋找它們。在第一個庫裡找到就不會再在第二個庫裡進行尋找。
{@projectName}settings.gradle
講解10
include ':app'
默認的 project 目錄下的 settings.gradle 文件內容如上。可有可能默認情況下, project 目錄下的settings.gradle 文件不存在,你可以自己創建。
- include ':app':表示當前 project 下有一個名稱為 app 的 module 。
如果你的一個 module 並不是 project 根目錄下,你可以這麼設置。
include ':app2'
project(':app2').projectDir = new File('path/to/app2')
{@moduleName}uild.gradle
講解11
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 文件內容如上。