Android studio Gradle构建加速

Android studio Gradle构建加速,android,android-studio,Android,Android Studio,自从上次更新(从6月25日开始构建)以来,Android studio Gradle的任何更改都非常缓慢。当您编辑文件并在keyup上重新编译时,它似乎也会自动跟踪更改 在i5上每次更改都需要几分钟 你知道如何加快我的渐变吗?开发人员正在研究。正如我在文章中提到的,现在最快的解决方案是从命令行使用gradle,对于所有未开发的模块,都应该切换到二进制libs。在g+上,开发者对它有一个共同的看法。肯定会有所不同: 只需在以下目录中创建一个名为gradle.properties的文件: /home

自从上次更新(从6月25日开始构建)以来,Android studio Gradle的任何更改都非常缓慢。当您编辑文件并在keyup上重新编译时,它似乎也会自动跟踪更改

在i5上每次更改都需要几分钟


你知道如何加快我的渐变吗?

开发人员正在研究。正如我在文章中提到的,现在最快的解决方案是从命令行使用gradle,对于所有未开发的模块,都应该切换到二进制libs。在g+上,开发者对它有一个共同的看法。

肯定会有所不同:

只需在以下目录中创建一个名为
gradle.properties
的文件:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)

通过在android studio中的gradle.properties文件中添加以下内容,我可以在旧的core2duo笔记本电脑(运行linux mint)上将gradle构建时间从43秒减少到25秒

org.gradle.parallel=true
org.gradle.daemon=true
有关守护进程设置加快生成速度的原因的来源:

有一个较新版本的gradle(2.4版)

通过从“文件”菜单中打开“项目结构”对话框,可以为项目设置此选项

Project Structure->Project->Gradle version

并将其设置为“2.4”。

您可以在上阅读有关提高性能的更多信息。

更改此设置后,我的编译时间从10分钟缩短为10秒

第1步:

设置(ctrl+Alt+S)->

构建、执行、部署->

编译器->

在命令行选项框中键入“
--offline

第二步:

选中“并行编译独立模块”复选框

&单击应用->确定

步骤3:在gradle.properties文件中->添加以下行

org.gradle.jvmargs=-Xmx2048M -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.daemon=true
org.gradle.daemon=true                                                          
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx2048M
更新:

如果您使用的是Android studio 2.0或更高版本,请尝试即时运行

背景→ 构建、执行、部署→ 快跑→ 启用即时 跑

有关即时跑步的更多信息-

  • 启用脱机工作

  • 通过在
    Gradle.properties

  • org.gradle.daemon=true
    org.gradle.parallel=true


    分步指南:

    您也可以使用命令行以获得更好的性能。您可以从linux项目的根文件夹中使用命令./gradlew
    ,或者使用gradlew.bat文件,如gradlew
    。当您第一次为给定的Gradle版本运行上述命令之一时,它将下载相应的Gradle发行版并使用它执行构建。 当通过包装器导入Gradle项目时,IDE可能会要求使用Gradle“all”发行版。这非常好,可以帮助IDE为构建文件提供代码完成。 这不仅意味着您不必自己手动安装Gradle,而且您还可以确保使用构建所针对的Gradle版本。这使您的历史构建更加可靠。
    有关更多信息,请参阅添加
    build.gradle
    文件:

    android {
    ...
    dexOptions {
            javaMaxHeapSize "4g" //specify the heap size for the dex process
        }
    ...
    }
    

    我希望它能有所帮助。

    遵循这些步骤将使其速度提高10倍,并将构建时间减少90%

    dexOptions {
        incremental true
        javaMaxHeapSize "4g"
    }
    
    首先在以下目录中创建名为gradle.properties的文件:

    /home/<username>/.gradle/ (Linux)
    /Users/<username>/.gradle/ (Mac)
    C:\Users\<username>\.gradle (Windows)
    
    /home/<username>/.gradle/ (Linux)
    /Users/<username>/.gradle/ (Mac)
    C:\Users\<username>\.gradle (Windows)
    
    并在Android Studio中检查此选项


    使用Android Studio 2.1,您可以启用“进程中的索引”以更快地构建应用程序


    您可以在此处获得有关它的更多信息:

    要更快地构建,请将Gradle守护程序的最大堆大小增加到2048 MB以上


    要在项目中设置
    org.gradle.jvmargs=-Xmx2048M

    gradle.properties
    这就是我所做的,我的gradle构建速度大大提高了!第一次构建从1分钟到20秒,后续构建从40秒到5秒

    gradle.properties文件中 添加以下内容:

    org.gradle.jvmargs=-Xmx8192M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    
    命令行参数中通过转到文件>其他设置>默认设置>生成、执行、部署>编译器,并将以下参数添加到命令行参数中

    添加以下内容:

    --debug --stacktrace -a, --no-rebuild -q, --quiet --offline
    

    在进行Android开发时,尽量避免使用只有8GB内存的Mac/PC。只要您启动1个emulator(Genymotion或其他),您的构建时间就会在带有gradle构建的Android Studio中变得极其缓慢。即使对一个源文件进行简单的单行更改,也会发生这种情况

    关闭仿真器并使用真实设备会有很大帮助,但这当然是非常有限的,灵活性也较差。减少emulator的RAM使用设置会有所帮助,但最好的方法是确保您的笔记本电脑至少有12-16 GB的RAM

    更新(2017年6月):现在有几篇优秀的media.com文章详细解释了如何加速Android Studio gradle的构建,它甚至可以在8GB的机器上运行:

    • 如何将渐变构建时间减少65%
    • 让你的Gradle再次快速构建
    总结的共识是:

    创建一个gradle.properties文件(位于
    ~/.gradle/gradle.properties
    的全局文件或项目的本地文件),并添加以下行:

    org.gradle.daemon=true
    org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    org.gradle.parallel=true
    org.gradle.configureondemand=true
    
    根据维基媒体应用程序的安卓团队的说法,优化Gradle构建的一个好方法是将这行代码添加到你的~/.Gradle/Gradle.properties

    org.gradle.jvmargs=-Xmx2048M -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    org.gradle.parallel=true
    org.gradle.configureondemand=true
    org.gradle.daemon=true
    
    org.gradle.daemon=true                                                          
    org.gradle.parallel=true
    org.gradle.configureondemand=true
    org.gradle.jvmargs=-Xmx2048M
    
    对于没有该文件的用户,有两种方法:

  • 通过在项目根目录中创建名为gradle.properties的文件,在项目中本地添加该文件,或

  • 通过在主目录中创建相同的文件(%UserProfile%.gradle在Windows上、~/.gradle在LinuxMac OS X上),您可以为所有项目全局设置它们

    在主目录中而不是在项目级别上设置属性是一个很好的方法

  • # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx10248m -XX:MaxPermSize=256m //Uncomment below line for providing your system specific configuration #org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError - Dfile.encoding=UTF-8 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit #http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects //Uncomment below line to allow parallel process execution. #org.gradle.parallel=true