Gradle构建时间过长

时间:2016-05-17 11:44:06

标签: android android-studio gradle android-gradle build.gradle

  

执行任务:[:app:clean,:app:generateDebugSources,   :应用:generateDebugAndroidTestSources,   :app:prepareDebugUnitTestDependencies,:app:mockableAndroidJar,   :应用程序:assembleDebug]

     

按需配置并行执行是一种孵化   特征。增量java编译是一个孵化功能。   :app:clean:app:preBuild UP-TO-DATE:app:preDebugBuild UP-TO-DATE   :app:checkDebugManifest:app:preReleaseBuild UP-TO-DATE   :应用:prepareAsiaIvityAndroidMarqueeview115Library   :应用:prepareComAndraskindlerParallaxviewpagerParallaxviewpager031Library   :应用:prepareComAndroidSupportAnimatedVectorDrawable2321Library   :应用:prepareComAndroidSupportAppcompatV72321Library   :应用:prepareComAndroidSupportMultidex101Library   :应用:prepareComAndroidSupportRecyclerviewV72321Library   :应用:prepareComAndroidSupportSupportV42321Library   :应用:prepareComAndroidSupportSupportVectorDrawable2321Library   :应用:prepareComGithubTecheryProgresshintLibrary023Library   :应用:prepareComGithubTecheryProgresshintLibraryAddition023Library   :应用:prepareComH6ah4iAndroidWidgetVerticalseekbarVerticalseekbar051Library   :应用:prepareComOgaclejapanSmarttablayoutLibrary160Library   :应用:prepareComToxicBakeryViewpagerTransformsViewPagerTransforms1232Library   :app:prepareDebugDependencies:app:compileDebugAidl   :app:compileDebugRenderscript:app:generateDebugBuildConfig   :app:mergeDebugShaders:app:compileDebugShaders   :app:generateDebugAssets:app:mergeDebugAssets   :app:generateDebugResValues UP-TO-DATE:app:generateDebugResources   :app:mergeDebugResources:app:processDebugManifest   :app:processDebugResources:app:generateDebugSources   :app:preDebugAndroidTestBuild UP-TO-DATE   :应用:prepareComAndroidSupportMultidexInstrumentation101Library   :应用:prepareDebugAndroidTestDependencies   :app:compileDebugAndroidTestAidl:app:processDebugAndroidTestManifest   :应用:compileDebugAndroidTestRenderscript   :应用:generateDebugAndroidTestBuildConfig   :app:mergeDebugAndroidTestShaders:app:compileDebugAndroidTestShaders   :app:generateDebugAndroidTestAssets:app:mergeDebugAndroidTestAssets   :app:generateDebugAndroidTestResValues UP-TO-DATE   :应用:generateDebugAndroidTestResources   :应用:mergeDebugAndroidTestResources   :应用:processDebugAndroidTestResources   :app:generateDebugAndroidTestSources:app:preDebugUnitTestBuild   UP-TO-DATE:app:prepareDebugUnitTestDependencies   :app:mockableAndroidJar UP-TO-DATE   :应用:incrementalDebugJavaCompilationSafeguard   :app:compileDebugJavaWithJavac:app:compileDebugJavaWithJavac - 不是   增量(例如输出已更改,之前没有执行等)。

     

注意:某些输入文件使用或覆盖已弃用的API。注意:   使用-Xlint重新编译:弃用以获取详细信息。

     

:app:compileDebugNdk UP-TO-DATE:app:compileDebugSources   :app:buildInfoDebugLoader:app:transformClassesWithExtractJarsForDebug   :应用:transformClassesWithInstantRunVerifierForDebug   :app:transformClassesWithJavaResourcesVerifierForDebug UP-TO-DATE   :应用:mergeDebugJniLibFolders   :应用:transformNative_libsWithMergeJniLibsForDebug   :app:processDebugJavaRes UP-TO-DATE   :应用:transformResourcesWithMergeJavaResForDebug   :应用:transformResourcesAndNative_libsWithJavaResourcesVerifierForDebug   UP-TO-DATE:app:transformClassesWithInstantRunForDebug   :应用:transformClasses_enhancedWithInstant + reloadDexForDebug   :app:incrementalDebugTasks:app:prePackageMarkerForDebug   :app:fastDeployDebugExtractor:app:generateDebugInstantRunAppInfo   :应用:coldswapKickerDebug   :应用:transformClassesWithInstantRunSlicerForDebug   :app:transformClassesWithDexForDebug要在进程中运行dex,请使用Gradle   守护进程需要更大的堆。它目前大约有11833 MB。   要加快构建速度,请增加Gradle的最大堆大小   守护进程超过13312 MB。要做这个设置   项目gradle.properties中的org.gradle.jvmargs = -Xmx13312M。对于   更多信息见   https://docs.gradle.org/current/userguide/build_environment.html   :app:validateDebugSigning:app:packageDebug:app:zipalignDebug   :app:fullDebugBuildInfoGenerator:app:assembleDebug

     

建立成功

     

总时间:7分41.523秒

3 个答案:

答案 0 :(得分:2)

  

默认的Gradle Daemon VM内存分配为1 GB - 这不足以支持dexInProcess,因此为了利用它,您需要将其设置为至少2 GB。

您可以采取的一项措施是加快构建速度,以增加Gradle Daemon VM内存分配。

gradle.properties中添加第org.gradle.jvmargs=-Xmx2048m行。

关于Android Studio 2.1功能的正确读物 Dex In Process

https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e?_utm_source=1-2-2#.g4ba8piij

并查看视频:

https://www.youtube.com/watch?v=-SY5nkNVUn0

答案 1 :(得分:1)

让您的gradle离线。

  

转到文件 - >设置搜索gradle并检查离线工作。

enter image description here

答案 2 :(得分:1)

我的问题已经解决了。因为我有ubuntu并且我从外部ntfs硬盘打开并运行我的项目,所以需要时间。我将其重新格式化为ext4并按照Amit Vaghela在评论部分中给出的帖子,这减少了建立时间从7分钟到2秒。

这是'Amit Vaghela'给出的链接:

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