Android Studio 3.2.1에서 Gradle 빌드 속도 향상
몇 분 동안 Android Studio에서 빌드가 완료되기를 기다리는 느낌이 있습니까? 나도. 그리고 그것은 꽤 성가시다. 다행히도이를 개선하기 위해 사용할 수있는 몇 가지 방법이 있습니다. Android는 빌드에 Gradle을 사용합니다. 최신 버전 인 4.6은 이전 버전보다 성능이 크게 향상되었습니다 (자세한 내용은 릴리스 정보 참조).
1 단계 : Gradle 버전 업데이트이를 수행하는 더 쉬운 방법은 다음으로 이동하는 것입니다. 모듈 설정 열기 (프로젝트)> 프로젝트 구조
최신 정보
Gradle 버전으로 변경 : 4.6
및 Android 플러그인 버전으로 변경 : 3.2.1
https://services.gradle.org/distributions/gradle-4.6-all.zip 에서 Gradle Release 배포판을 다운로드
하여 Gradle 폴더에 복사하십시오.
마지막 단계는 설정> Gradle에서 차별을 추가하는 것입니다
변경 사항을 저장하려면 적용을 클릭하는 것을 잊지 마십시오.
2 단계 : 오프라인 모드, Gradle 데몬 및 프로젝트에 대한 병렬 빌드를 사용하도록 설정 오프라인 모드는 Gradle에게 최신 업데이트 확인을 무시하도록 지시합니다. Gradle은 항상 종속성을 요구 하며이 옵션을 사용하면 시스템에 이미있는 것을 종속성으로 사용합니다. android studio Setting에서 Gradle로 이동하여 Offline 작업 상자를 클릭하십시오.
- android studio 설정에서 컴파일러로 이동하여 명령 줄 상자에“— 오프라인”을 추가하고 독립 모듈 컴파일을 병렬로 클릭하십시오.
다음 단계는 프로젝트에 Gradle 데몬 및 병렬 빌드를 활성화하는 것입니다. 병렬 빌드는 여러 모듈 (Gradle의 다중 프로젝트 빌드)이있는 프로젝트를 병렬로 빌드하므로 대규모 또는 모듈 식 프로젝트를 더 빠르게 빌드 할 수 있습니다.
이러한 설정은 Gradle 스크립트 디렉토리 (예 : ~ / .gradle / gradle.properties)에서 gradle.properties라는 파일을 수정하여 활성화 할 수 있습니다. 이러한 옵션 중 일부 (예 : 병렬 모듈 병렬)는 Android Studio에서 사용할 수 있으며 터미널에서 빌드 할 때 gradle.properties 파일에 저장하면 동료가 동일한 설정을 사용할 수 있습니다. 그러나 팀에서 일하는 경우 때로는이 일을 할 수 없습니다.
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit org.gradle.parallel=true
# When set to true the Gradle daemon is used to run the build. For local developer builds this is our favorite property.
# The developer environment is optimized for speed and feedback so we nearly always run Gradle jobs with the daemon.
org.gradle.daemon=true
데몬을 사용하면 매번 전체 Gradle 응용 프로그램을 시작할 필요가 없으므로 빌드가 더 빨리 시작됩니다. Gradle 데몬은 기본적으로 활성화되어 있지 않지만 개발자 컴퓨터에서는 항상 활성화하는 것이 좋습니다 (그러나 지속적인 통합 서버에서는 비활성화되어 있음). 이 모드에 대한 FAQ는 https://docs.gradle.org/current/userguide/gradle_daemon.html 에서 찾을 수 있습니다 . 일부 프로젝트에서는 병렬 빌드 설정이 안전하지 않을 수 있습니다. 모든 모듈을 분리해야하거나 빌드가 실패 할 수 있어야합니다 (자세한 내용은 http://gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 참조).
3 단계 : 증 분식 dexign 사용 및 메모리 설정 조정 증 분식 dexing을 설정하여 빌드 속도를 높일 수 있습니다. 모듈의 빌드 파일에서 :
이 옵션을 안드로이드 블록에 추가하십시오 :
dexOptions {
incremental true
}
해당 dexOptions 블록에서 dex 프로세스의 힙 크기를 지정할 수도 있습니다 (예 :
dexOptions {
incremental true
javaMaxHeapSize "12g"
}
여기서 "12g"는 12GB의 메모리입니다. 이에 대한 추가 정보는 google.github.io/android-gradle-dsl/current/에서 찾을 수 있습니다. 설정 파일에서 Gradle 매개 변수를 구성 할 수도 있습니다 (예 : 대규모 프로젝트가있는 경우 최대 힙 크기 늘리기).
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
자세한 내용은 https://docs.gradle.org/current/userguide/userguide_single.html#sec:gradle_configuration_properties 에서 모든 매개 변수 목록을 참조 하십시오.
4 단계 : 바이러스 백신 사용 안 함 바이러스 백신 검색에서 프로젝트 및 캐시 파일을 제외하는 것을 고려하십시오. 이것은 분명히 보안과의 균형입니다. 그러나 지점을 많이 전환하면 안티 바이러스는 gradle 프로세스가 사용하기 전에 파일을 다시 검색하여 빌드 시간이 느려집니다 (특히 gradle 파일 및 인덱싱 작업이있는 Android Studio 동기화 프로젝트). 바이러스 백신 사용 여부에 관계없이 빌드 시간을 측정하고 CPU가 관련되어 있는지 확인하십시오. 이게 도움이 되길 바란다. 빌드 성능 향상에 대한 질문이나 다른 팁이 있으면 의견을 남겨주십시오.
유용한 링크