Android Studio 2.0 穩(wěn)定版終于更新了赦拘,我最期待的功能是 Instant Run慌随。測(cè)試版的時(shí)候用著就很爽,只是由于 bug 太多一直沒(méi)在生產(chǎn)環(huán)境下用。詳細(xì)的更新內(nèi)容見這里(官方)和這里(中文)阁猜,簡(jiǎn)單說(shuō)就是 Instant Run + 更快的模擬器 + 集成 Cloud Test Lab(收費(fèi)的丸逸,可以免費(fèi)試用) + App Indexing 支持(更好的在 Google Search 中展示) + 新的 GPU 調(diào)試器 + 更新到 IntelliJ 15。
不過(guò)有些 Google 并沒(méi)有列出來(lái)但也很重要蹦漠,下面來(lái)扒一扒椭员。
啟用 Instant Run(即時(shí)運(yùn)行)
穩(wěn)定版 Instant Run 是默認(rèn)開啟的(不像測(cè)試版需要手動(dòng)開啟)车海,但 Gradle plugin 必須升級(jí)到 2.0 才可以笛园。如果你在用 Instant Run 的過(guò)程中碰到了 問(wèn)題(更新:已碰到,確實(shí)還有 bug)侍芝,可以手動(dòng)關(guān)閉 Settings -> Build, Execution, Deployment -> Instant Run
研铆。
啟用 Built-in shrinker(內(nèi)置壓縮)
Gradle plugin 2.0 新增了 built-in code shrinker(內(nèi)置代碼壓縮),用來(lái)取代 ProGuard(一般用在 debug build)州叠,它只會(huì)壓縮(shrink)代碼而不會(huì)混淆(obfuscate)棵红,能夠進(jìn)一步加快 Instant Run 的運(yùn)行速度。開啟方法是添加 useProguard false
到 build.gradle 文件里咧栗,即:
android {
buildTypes {
debug {
minifyEnabled true
useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt')
}
release {
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt')
}
}
}
這樣在 debug build 時(shí)只會(huì)壓縮代碼逆甜,在 release build 時(shí)才壓縮與混淆代碼。
useProguard true
是默認(rèn)設(shè)置致板,可以不用添加交煞。
啟用 Resource Shrinking(資源壓縮)
這是一個(gè)很早就加入的功能,但之前一直有 bug斟或,2.0 做了修復(fù)素征,我開啟了還沒(méi)碰到問(wèn)題。它的作用是移除沒(méi)有使用的資源(Resources萝挤,包括第三方庫(kù)里的)御毅,必須配合 ProGuard(或其他代碼壓縮工具)使用,啟用方法是:
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true // 啟用 Resource Shrinking
}
}
}
支持 Incremental compilation(增量編譯)
compileOptions {
incremental=true|false
}
默認(rèn)是關(guān)閉怜珍,開啟能夠加快編譯速度端蛆,但可能導(dǎo)致 R class 無(wú)法正確的重新編譯。
其他
還有其他如 dexInProgress
酥泛、maxDexProcess
等不太重要的這里就不詳細(xì)說(shuō)了今豆,具體見這里和這里。