+1

Android Studio build quá chậm, hãy thử ngay những cách sau nhé

Giới thiệu

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

Cách 1: Offline work

hô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. 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

Cách 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 😒). Đồ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õ 🙂

Kết

Với 2 thay đổi trên, dự án của mình thường build mất 1 đến 2 phút , giờ còn trung bình có 30s (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.


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.