如何提高 Gradle 编译速度?

在本教程中,我们将看看可以用 Gradle 构建来加速构建时间的事情。

加快您的 Android Gradle 构建

随着我们的 Android Studio 项目的规模增加, gradle build 的性能变得至关重要。即使是最简单的项目的 gradle 速度也相当慢. 虽然每个项目都有其自身的复杂性和独特性,这导致其具有不同的 build 速度。

  1. Make sure you're using the latest version of Gradle. Generally with every new update there is a significant improvement in performance. Note: Java 1.8 is faster than 1.6. Make sure it's updated too.
  2. Try to minimize the use of modules. There are many cases where we need to fork the library to modify it to fit according to our needs. A module takes 4x greater time than a jar or aar dependency. This happens due to the fact that the module needs to be built from the scratch every time.
  3. Enable gradle Offline Work from Preferences-> Build, Execution, Deployment-> Build Tools-> Gradle. This will not allow the gradle to access the network during build and force it to resolve the dependencies from the cache itself. Note: This only works if all the dependencies are downloaded and stored in the cache once. If you need to modify or add a new dependency you'll have to disable this option else the build would fail.
  4. Open up the gradle.properties file from the root of your project. Add the following lines of code in it. org.gradle.daemon=true Gradle daemon is a background process. Adding this would consume some extra memory while building. org.gradle.parallel=true The above line of code enables compilation of multiple modules at the same time. Besides that it also gives us other benefits such as;
    • Re-using the configuration for unchanged projects
    • Project-level is up-to-date checks
    • Using pre-built artifacts in the place of building dependent projects Adding the following line of code also aids us in speeding up the build. org.gradle.configureondemand=true Another important property is; org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 The above line is used to allow Java compilers to have available memory up to 2 GB (2048 MB). It should only be used if you have available memory more than 2 GB. This is how the gradle.properties file should look like: android gradle properties, increase gradle build speed
  5. Avoid dynamic dependencies such as compile 'com.google.maps.android:android-maps-utils:0.4+'. Dynamic Dependencies slow down your build since they keep searching for the latest builds every time. To improve the performance we need to fix the version in place.
  6. Use only those dependencies that you need. For example google maps dependency, instead of importing compile 'com.google.android.gms:play-services:8.4.0' just import compile 'com.google.android.gms:play-services-maps:8.4.0'.

在我们的项目中使用此类调整可以从长远来看节省大量时间,我希望这些 gradle build 提示能帮助您改善项目的构建时间。

Published At
Categories with 技术
Tagged with
comments powered by Disqus