:app:transformClassesAndResourcesWithProguardForRelease需要太长时间

时间:2016-09-22 13:45:33

标签: android android-proguard

我在启用Proguard的情况下构建发布应用程序时遇到问题。建筑物执行任务是困难的:app:transformClassesAndResourcesWithProguardForRelease需要超过40分钟!

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile('com.github.afollestad.material-dialogs:core:0.8.5.5@aar') {
        transitive = true
    }
    apt 'com.jakewharton:butterknife-compiler:8.0.1'
    compile 'com.android.support:appcompat-v7:24.2.0'
    compile 'com.android.support:design:24.2.0'
    compile 'com.android.support:support-v4:24.2.0'
    compile 'com.android.support:percent:24.2.0'
    compile 'com.android.support:recyclerview-v7:24.2.0'
    compile 'com.android.support:cardview-v7:24.2.0'
    compile 'com.google.android.gms:play-services-appindexing:9.4.0'
    compile 'com.google.android.gms:play-services-analytics:9.4.0'
    compile 'com.instabug.library:instabug:2.6.1'
    compile 'net.hockeyapp.android:HockeySDK:4.1.0'
    compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
    compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
    compile 'com.squareup.okhttp:logging-interceptor:2.6.0'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'com.jakewharton:butterknife:8.0.1'
    compile 'com.mobsandgeeks:android-saripaar:2.0.3'
    compile 'uk.co.chrisjenx:calligraphy:2.1.0'
    compile 'joda-time:joda-time:2.8.2'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'info.hoang8f:android-segmented:1.0.6'
    compile 'com.pnikosis:materialish-progress:1.7'
    compile 'hanks.xyz:smallbang-library:0.1.2'
    compile 'com.jzxiang.pickerview:TimePickerDialog:1.0.1'
}

造成这种混乱的原因是什么?

谢谢!

4 个答案:

答案 0 :(得分:0)

你有很多图书馆,上面的评论有点解决了你的问题,有一些提示可以帮助你处理很多图书馆。

在您的App-> build.gradle

defaultConfig {
    ....
    multiDexEnabled true   // add this
}

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 17
    }
}

希望有所帮助

答案 1 :(得分:0)

就我而言,它发生在 proguard-rules.pro 上,因此我隐藏了所有规则,并在build.gradle文件中使用了此配置,并且对我有用。

buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

defaultConfig {
    multiDexEnabled true
}

dexOptions {
    javaMaxHeapSize "4g"
}

答案 2 :(得分:0)

我的构建时间太长,以至于我迫不及待地想要完成它,它超过了2个小时。它停留在此构建任务上,而我的解决方案是clean local repository

git clean -xfd

此后,我设法正常构建(不到5分钟)。

答案 3 :(得分:0)

我只是在Android Studio上使用Clean Project: “构建>清理项目”