首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle构建(Android项目)非常缓慢。

Gradle构建(Android项目)非常缓慢。
EN

Stack Overflow用户
提问于 2015-04-28 12:17:39
回答 3查看 1.3K关注 0票数 2

我有一个有32种口味和5个小时构建的gradle构建?

这是我的build.gradle

代码语言:javascript
复制
apply plugin: 'com.android.application'

android {
    compileSdkVersion 17
    buildToolsVersion "21.1.2"

    dexOptions {
        preDexLibraries false
    }

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 17
        multiDexEnabled true
        versionCode 3
        versionName '3.0.0.0'
    }

    signingConfigs {
        signingConfig1 {
            storeFile file('keystores/signingConfig1.keystore')
            storePassword 'signingConfig1'
            keyAlias 'signingConfig1'
            keyPassword 'signingConfig1'
        }

        ...
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

    productFlavors {
        flavor1 {
            applicationId "com.mycompany.project.flavor1"
            signingConfig signingConfigs.signingConfig1
        }

        flavor2 {
            applicationId "com.mycompany.project.flavor2"
            signingConfig signingConfigs.signingConfig2
        }

        ...

        flavor32 {
            applicationId "com.mycompany.project.flavor32"
            signingConfig signingConfigs.signingConfig32
        }
    }

    sourceSets {
        flavor1.res.srcDir 'src-flavors/flavor1/res'
        flavor2.res.srcDir 'src-flavors/flavor2/res'
        ...
        flavor32.res.srcDir 'src-flavors/flavor32/res'
    }
}

dependencies {
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile files('libs/stock-chart-full.jar')
    compile files('libs/bcprov-jdk15on-1.47.jar')
    compile files('libs/Pubnub-Android-3.7.2.jar')
    compile 'com.google.android.gms:play-services:7.0.0'
    compile 'org.roboguice:roboguice:3.+'
    provided 'org.roboguice:roboblender:3.+'
    compile 'com.google.code.findbugs:jsr305:1.3.9'
}

我的gradle.properties

代码语言:javascript
复制
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true

我能做些什么来加速应用程序的构建?如果我只构建了一个版本来进行调试?发布版本需要3分钟的时间,如果我在调试和发布过程中构建了所有的版本,则需要超过3个小时。大多数情况下,gradle会花费DEX任务。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-28 12:23:51

这种情况已经存在了一段时间了。

不幸的是,android的make似乎每一次都会执行一次干净的操作,导致以前的DEX文件被删除。

AFAIK你不能做比你已经做的更多的事情。这是谷歌应该做的事情(关于DEX阶段)。

见related:Building and running app via Gradle and Android Studio is slower than via Eclipse

票数 1
EN

Stack Overflow用户

发布于 2015-04-28 12:21:54

如果您正在使用Android,最简单的解决方案是转到Preferences -> Gradle并启用Offline Work

票数 3
EN

Stack Overflow用户

发布于 2015-04-28 12:43:00

编辑:杰克和吉尔被废弃,不再支持!

也许你可以试试新的android工具链Jack和Jill:http://tools.android.com/tech-docs/jackandjill

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29919276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档