Android Studio 2.0 稳定版终于更新了,我最期待的功能是 Instant Run。测试版的时候用着就很爽,只是由于 bug 太多一直没在生产环境下用。详细的更新内容见这里(官方)和这里(中文),简单说就是 Instant Run + 更快的模拟器 + 集成 Cloud Test Lab(收费的,可以免费试用) + App Indexing 支持(更好的在 Google Search 中展示) + 新的 GPU 调试器 + 更新到 IntelliJ 15。
不过有些 Google 并没有列出来但也很重要,下面来扒一扒。
启用 Instant Run(即时运行)
稳定版 Instant Run 是默认开启的(不像测试版需要手动开启),但 Gradle plugin 必须升级到 2.0 才可以。如果你在用 Instant Run 的过程中碰到了 问题(更新:已碰到,确实还有 bug),可以手动关闭 Settings -> Build, Execution, Deployment -> Instant Run
。
启用 Built-in shrinker(内置压缩)
Gradle plugin 2.0 新增了 built-in code shrinker(内置代码压缩),用来取代 ProGuard(一般用在 debug build),它只会压缩(shrink)代码而不会混淆(obfuscate),能够进一步加快 Instant Run 的运行速度。开启方法是添加 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 时只会压缩代码,在 release build 时才压缩与混淆代码。
useProguard true
是默认设置,可以不用添加。
启用 Resource Shrinking(资源压缩)
这是一个很早就加入的功能,但之前一直有 bug,2.0 做了修复,我开启了还没碰到问题。它的作用是移除没有使用的资源(Resources,包括第三方库里的),必须配合 ProGuard(或其他代码压缩工具)使用,启用方法是:
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true // 启用 Resource Shrinking
}
}
}
支持 Incremental compilation(增量编译)
compileOptions {
incremental=true|false
}
默认是关闭,开启能够加快编译速度,但可能导致 R class 无法正确的重新编译。