将相本无种,男儿当自强。这篇文章主要讲述使用android gradle插件3.0.0比gradle插件2.3.3慢相关的知识,希望能为你提供帮助。
当将com.android.tools.build:gradle:2.2.3
更新为com.android.tools.build:gradle:3.0.0
时,我发现构建时间超过2.3.3。
根build.gradle
是
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
}
app/build.gradle
在这里,我所有的依赖都使用compile
apply plugin: 'com.android.application'
android {
sourceSets {
main {
...
}
}dexOptions {
preDexLibraries = false
incremental true
javaMaxHeapSize "8g"
keepRuntimeAnnotatedClasses false}lintOptions {
abortOnError false
checkReleaseBuilds false
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
exclude 'org/apache/commons/codec/language/bm/*.txt'
}
compileSdkVersion 24
buildToolsVersion "27.0.1"
}
defaultConfig {
applicationId "com.gg.kk"
minSdkVersion 15
targetSdkVersion 23
versionCode 512654
versionName "version"
multiDexEnabled true}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:multidex:1.0.1'
.... many dependencies ....
}
谁能告诉我为什么我的构建变得缓慢?
答案许多不同的东西都会影响gradle构建时间。
【使用android gradle插件3.0.0比gradle插件2.3.3慢】要减少此时间,您可能需要至少尝试以下解决方案之一:
- 检查Gradle Deamon是否已启用。它应该默认启用。
- 让你的Gradle保持最新(你已经很擅长)你可以去/gradle/wrapper/gradle-wrapper.properties并通过更改distributionUrl来升级gradle版本
- 增加你的堆大小 org.gradle.jvmargs = -Xmx3072m -XX:MaxPermSize = 512m -XX:+ HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8
- 通过添加
gradle.properties
在org.gradle.parallel=true
中启用并行性 - 不要使用编译
'com.android.support:appcompat-v7:27.+'
等动态依赖项 File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle
检查'Offline work'
'Global Gradle settings'
短期解决方案。- 检查这个https://developer.android.com/studio/build/optimize-your-build.html
推荐阅读
- Android插件为某些源代码方法添加特定代码
- Android使用条形图视图字母
- MPAndroidChart如何设置X比例
- Bootstrap Navbar仅对Android设备无响应
- Android(在JUnit中传递上下文并使用共享首选项)
- 测试是否调用通过函数参数传递的函数(Android / Kotlin))
- Android Studio出错
- Android上的函数图形库
- keyPress事件未在Android手机中触发