Android Studio Gradle优化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/w627947015/article/details/64129758

Android Studio Gradle优化


能够提升Gradle执行效率的提示:

  1. Gradle Daemon(Gradle守护进程)

    org.gradle.daemon=true
  2. Parallel Project Execution(并行项目执行)

    org.gradle.parallel=true
  3. Global 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

    不得不说,也可以在 /Users/你的用户名*/.gradle/gradle.properties 这个文件当中添加,没有该文件自行创建即可,对所有的项目有效。

  4. 修改AS安装目录下的vmoptions文件

    这里写图片描述

    • Android Studio 2.0 以下
      每次升级/安装 Android Studio 之后最好都修改一下这个参数:到 Android Studio 安装目录,找到 bin/studio(64?).vmoptions(文件名可能因操作系统而不同,但大同小异),然后把 -xmx 后面的数字改大一点,比如 2048m 或4096m。

    • Android Studio 2.0 以上
      在Help菜单下面,有个Edit Custom VM Option 选项,可以直接打开那个studio(64?).vmoptions文件了。

    • 如何确定修改生效了
      在 Settings -> Appearance 页里,打开 Show memory indicator 选项,然后主界面右下角会显示 Heap 总大小以及使用状况。这样操作一下,就可以确认 Heap Size 修改是否生效

    Tips:默认是用x86的as,改studio.exe.vmoptions;用64位as就改studio64.exe.vmoptions。改完以后记得点一下File–Invalidate caches/restart这个,才能生效,不然关掉as再开就打不开了

  5. 跳过一些任务项

    android{
    ...
        tasks.whenTaskAdded { task ->
            if (task.name.contains("lint")
                    //如果instant run不生效,把clean这行干掉
                    || task.name.equals("clean")
                    //如果项目中有用到aidl则不可以舍弃这个任务
                    || task.name.contains("Aidl")
                    //用不到测试的时候就可以先关闭
                    || task.name.contains("mockableAndroidJar")
                    || task.name.contains("UnitTest")
                    || task.name.contains("AndroidTest")
                    //用不到NDK和JNI的也关闭掉
                    || task.name.contains("Ndk")
                    || task.name.contains("Jni")
            ) {
                task.enabled = false
            }
        }
    }

总结


  • 在Gradle目录下有一个全局gradle.properties,所有的项目将继承它(Android中Module的单个Gradle配置文件优先级低于全局的);
  • 跳过不成功的Gradle任务,跳过Lint检查;
  • 加快Gradle的构建速度,第4和第5点效果最为明显;

参考文章: 每个执行任务的运行时间

猜你喜欢

转载自blog.csdn.net/w627947015/article/details/64129758