Tăng tốc build Android Studio

      1 Comment on Tăng tốc build Android Studio

Việc chuyển sang Android Studio với hệ thống build mới: Gradle hứa hẹn một tương lai tươi sáng khi Gradle chỉ build những phần thay đổi, do đó sẽ build nhanh hơn Ant trên Eclipse. Tuy nhiên, đời không như là mơ. Một ngày bạn nhận ra rằng bạn phải chờ rất lâu trong mỗi lần build app.
Bạn quyết định Google tìm giải pháp, và bạn tìm được bài viết này 🙂
Với 2 tùy chỉnh dưới đây, mình đã giảm được ~6 lần thời gian build (tada).

1. Offline work

Thông thường, khi build project của bạn, gradle sẽ cập nhật những thư viện cũ và thêm những thư viện mới (bạn chỉ định trong mục dependencies của file build.gradle).
Việc truy cập mạng và kiểm tra cập nhật này cũng tốn kha khá thời gian, ngay cả khi bạn có một đường truyền vũ bão đi chăng nữa =)) Nên bạn có thể tắt chức năng này đi bằng cách:

Trong Android Studio, vào File -> Settings -> Build, Execution, Deployment -> Build tool -> Gradle và tick vào tùy chọn Offline work.
Screenshot from 2015-11-29 02:04:49
Pro tip: Việc làm này sẽ thêm tùy chọn --ofline trong gradle build, thông tin chi tiết bạn có thể xem tại gradle documentation.

LƯU Ý: Mỗi lần bạn thêm một thư viện mới trong dependencies, thì bạn bỏ tùy chọn Offline work đi để Gradle tải và cài đặt thư viện mới, xong rồi lần sau lại tiếp tục offline 🙂

2. Multidex

Có thể bạn thừa biết, Android giới hạn dự án của bạn (bao gồm code hệ thống, code thư viện bên thứ 3, code của chính bạn) là 65536 phương thức và bạn phải nhờ đến sự trợ giúp của thư viện Multidex.

Việc build với Multidex cũng ngốn thêm khoảng 40s cuộc đời bạn.

Nguyên nhân chủ yếu dẫn đến sự vượt quá 65536 phương thức là do thư viện Google Play Service: compile 'com.google.android.gms:play-services:x.y.z' (thường bạn dùng trong việc Push notification, quảng cáo Admod, Login, Analytics…).

May sao, từ phiên bản 6.5 trở đi, Google xẻ nhỏ các thư viện ra và bạn chỉ cần compile những thư viện nào mình dùng, nên bạn hãy xóa compile 'com.google.android.gms:play-services:x.y.z' và thay vào đó là thư viện mà mình cần dùng, ví dụ: com.google.android.gms:play-services-gcm:8.3.0 cho Push notification.

Vậy là bạn đã giảm được kha khá phương thức không cần thiết (thằng Google Play Service ban đầu nó gần 30k phương thức lận :-S). Đồng thời, bạn cũng sẽ bỏ được luôn tùy chọn Multidex.

Kiểm tra

Để xem thời gian build của dự án, bạn có thể vào mục Event log (View -> Tool Windows -> Event log) để xem log trong mỗi lần chạy dự án (hoặc Re-build).
Lần đầu build thì có thể không thấy thay đổi gì, nhưng lần thứ 2 bạn sẽ thấy rõ 🙂

Tạm kết

Với 2 thay đổi trên, dự án của mình thường build mất 65s, giờ còn có 11s (tung hoa, tung hoa).
Trên đây là một số mẹo mình tìm hiểu được, hy vọng nó sẽ hữu ích cho bạn.
Nếu bạn có cách nào khác nữa, mong bạn chỉ cho mình với, qua địa chỉ: binh.cao@appconus.com

Lập trình và hơn thế nữa

Spread the love
  •  
  •  
  •  
  •  
  •  

Leave a Reply

1 Comment on "Tăng tốc build Android Studio"

Notify of
avatar
Sort by:   newest | oldest | most voted
Anonymous
Guest

Cảm ơn tác giả, cái phần multidex giờ mình mới biết là nó làm project mình build lâu hơn.