Tad*_*ust 22 performance android android-studio android-gradle-plugin android-multidex
我的应用程序有一堆必不可少的库,这就是为什么我被迫使用multidex支持库并且它运行良好.但问题显示的是在gradle buid速度.平均需要2分钟才能构建,当我开发和测试时,这非常烦人.
有没有办法加快我的调试版本?
Ale*_*pov 60
您可以通过指定最小SDK版本= 21 来加速开发构建.
官方文档包含有关该版本的整个部分.
示例(来自文档):
android {
productFlavors {
// Define separate dev and prod product flavors.
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 14
}
}
...
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
Run Code Online (Sandbox Code Playgroud)
添加产品风格后,您可以使用devDebug任务(而不是默认debug任务)进行开发构建:
- 从命令行:运行./gradlew installDevDebug
- 从Android Studio:打开Build Variants窗口并选择devDebug构建变体.
当然,您应该使用SDK> = 21的设备.
对于那些不想使用口味的人来说,也有一个解决方案.正如本要点所示,动态计算minSdkVersion值:
int minSdk = hasProperty('devMinSdk') ? devMinSdk.toInteger() : 14
apply plugin: 'com.android.application'
android {
...
defaultConfig {
minSdkVersion minSdk
...
}
}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我们检查是否devMinSdk定义了属性,如果是,则我们正在使用它.否则,我们默认为14.
我们如何传递devMinSdk价值来构建脚本?两种选择:
使用命令行:
./gradlew installDebug -PdevMinSdk=21
Run Code Online (Sandbox Code Playgroud)
使用Android Studio偏好设置:
转到首(设置在Windows上) - > 构建,执行,部署 - > 编译器 - >把-PdevMinSdk=21在命令行选项文本框.
| 归档时间: |
|
| 查看次数: |
10255 次 |
| 最近记录: |