1、针对Instant Run配置和优化您的项目
settings -> Build,Execution,Deployment -> Instant Run ,然后点击开启Instant Run
2、通过配置 DEX 资源缩短构建时间
android { ... dexOptions { maxProcessCount 4 // this is the default value javaMaxHeapSize "2g" } }
3、启用 dexing-in-process 和增量 Java 编译
org.gradle.jvmargs = -Xmx2048m
注:如果您已经在模块级别的 build.gradle
文件中为 javaMaxHeapSize
定义值,则需要将后台进程的最大堆大小设置为 javaMaxHeapSize
的值 + 1024 MB。例如,如果您已将 javaMaxHeapSize
设为“2g”,则需要将以下代码添加到项目的 gradle.properties
文件中:org.gradle.jvmargs = -Xmx3072m
4、优化开发构建中的 Dalvik 可执行文件分包
Dalvik 可执行文件分包配置会大幅增加构建处理时间,因为构建系统必须就哪些类必须包括在主 DEX 文件中以及哪些类可以包括在辅助 DEX 文件中作出复杂的决策。这意味着使用 Dalvik 可执行文件分包的增量式构建通常耗时更长,可能会拖慢您的开发进度。
为了缩短耗时更长的 Dalvik 可执行文件分包输出构建时间,请利用 productFlavors
(一个开发定制和一个发布定制,具有不同的 minSdkVersion
值)创建两个构建变型。
对于开发定制,将 minSdkVersion
设置为 21。该设置将启用一个名为 pre-dexing 的构建功能,此功能使用仅适用于 Android 5.0(API 级别 21)和更高版本的 ART 格式更快生成 Dalvik 可执行文件分包输出。对于发布定制,将 minSdkVersion
设置为适于您的实际最低支持级别。此设置生成的 Dalvik 可执行文件分包 APK 可兼容更多设备,但构建时间更长。
以下构建配置示例展示了如何在 Gradle 构建文件中设置这些定制:
android { defaultConfig { ... multiDexEnabled true } productFlavors { dev { // Enable pre-dexing to produce an APK that can be tested on // Android 5.0+ without the time-consuming DEX build processes. minSdkVersion 21 } prod { // The actual minSdkVersion for the production version. minSdkVersion 14 } } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile 'com.android.support:multidex:1.0.3' }