안드로이드 스튜디오 빌드 시간 개선법



이클립스에서 스튜디오로 넘어오면서 가장 불만사항이 Gradle로 변경되면서 MultiDex가 지원됨에 따라 빌드시간이 배이상 느려졌습니다. MultiDex로 인한 작업이 60%이상의 시간을 소모 하고 있습니다. 달리 말해 MultiDex를 쓰지 않으면 60%이상의 시간을 단축 시킬수 있습니다.

:transformClassesWithDexForDebug

 

롤리팝(API 21)부터는 Art기반이기때문에 MultiDex가 자동으로 생략 됩니다. 하지만 벅스 프로젝트의 MinSdk버전 16 인해 무조건 MultiDex 작업이 수행됩니다.

MinSdk버전을 롤리팝인 21로 설정하게 된다면 MultiDex가 작동되지 않습니다. 즉, 개발시에만 21로 설정해서 사용하면 60%이상의 빌드시간을 단축 할 수 있습니다.

 

3.2 GHz Intel Core i3 기준으로 빌드시간:

MinSDKVer 16  – Total time: 1 mins 34.019 secs
MinSDKVer 21 – Total time: 41.905 secs

 
배이상 시간이 단축 되었습니다. 롤리팝 이하 버전의 단말에서는 다시 MinSDK를 내려야 하는 불편함이 있긴 하지만 개발시에만 이렇게 쓰는것이 기회비용상 나쁘지는 않을것 같습니다.

 

그리고 오늘 안드로이드 스튜디오 2.0 베타가 출시되었는데 인스턴스런이라고 하여 빌드하지않고 수정된 코드가 바로 에뮬레이터로 표현되는 기능이 들어 있습니다. 블로그의 말로는 50배 이상 빌드에 대한 시간을 단축 할 수 있다고 하네요. 앞으로 지속적으로 지켜봐야 할 부분인것 같습니다.