본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] gradle build 성능 향상시키기

by 돼지왕 왕돼지 2019. 2. 3.
반응형

[android] gradle build 성능 향상시키기


https://android.jlelse.eu/android-build-speed-up-ver-english-c76890aa610

Art, bazel, Buck, build tool, build.gradle, class to dex, clean build, dex merge, dexoptions, gradle optimization, gradle optimize, gradle performance, gradle speed, gradle 최신 버전, gradle.properties, incremental, minsdk, org.gradle.daemon, org.gradle.jvmargs, org.gradle.parallel, packaging process, pants, XM, [android] gradle build 성능 향상시키기


-

Gradle 보다 성능이 좋은 Bazel, Buck, Pants 등의 다른 build tool 들이 있다.

그러나 그들은 initialize 하기가 너무 어렵다.



-

Gradle 을 최신 버전으로 유지하자.



-

minSdk 를 build.gradle 에 명시하자.


packaging process 는 두 단계를 거친다.

하나는 class to dex 이고, 다른 하나는 dex merge 이다.

API level 21 (LOS)부터는 ART 기반이기 때문에 dex merge 를 수행하지 않아도 된다.

따라서 minSdk 를 명시해주면 상황에 따라 build time 을 줄일 수 있다.



-

gradle.properties 에 다음 사항들을 넣어주자.

org.gradle.daemon=true

org.gradle.parallel=true

org.gradle.jvmargs=-Xmx768m



-

build.gradle 에 dexOptions 을 추가하자.

android{

    dexOptions{

        incremental true // 잠재적 에러가 있다고는 함

    }


    ...

}



-

위와 같은 세팅을 했을 때 

Clean build 는 17% 정도…

Incremental 은 41% 정도,,, 의 성능 향상이 있었다고 한다.




반응형

댓글