Phân tích và tự động hoá nâng cấp phần phụ thuộc

Bạn muốn đơn giản hoá việc quản lý phần phụ thuộc? Việc thêm một số công cụ vào quy trình có thể giúp đẩy nhanh tiến độ và hướng bạn đến những khu vực có thể cần chú ý thêm một chút.

Tự động nâng cấp phiên bản

Android Studio sẽ làm nổi bật các phiên bản thư viện lỗi thời trong trình chỉnh sửa, cùng với các bản sửa lỗi nhanh để nâng cấp. Tuy nhiên, để thực hiện việc này, bạn cần thường xuyên kiểm tra tất cả các tệp bản dựng.

Có một số công cụ của bên thứ ba có thể tự động hoá quy trình, nâng cấp các tệp bản dựng và tuỳ ý tạo một yêu cầu kéo đối với thay đổi. Chúng xác định và cập nhật lên các phiên bản mới nhất hiện có của từng phần phụ thuộc, nhưng bạn vẫn cần phân tích kết quả trước khi phát hành để đảm bảo khả năng tương thích về hành vi. Sau đây là một số ví dụ phổ biến:

Kiểm tra các bản nâng cấp hiện có

Trình bổ trợ phiên bản Gradle giúp bạn kiểm soát việc nâng cấp theo cách thủ công tốt hơn. Việc chạy tác vụ dependencyUpdates (thông qua ./gradlew :dependencyUpdates) sẽ tạo ra một báo cáo về các phiên bản mới hơn của phần phụ thuộc thư viện. Điều này có thể hữu ích để kiểm tra trạng thái thư viện và nhắm mục tiêu thủ công những thư viện bạn muốn nâng cấp tại một thời điểm nhất định.

Điều này có thể đặc biệt hữu ích nếu bạn đang sử dụng phương pháp tuỳ chỉnh để chỉ định các phiên bản phần phụ thuộc, thay vì danh mục phiên bản.

Báo cáo thay đổi về phần phụ thuộc

Việc nâng cấp các phiên bản thư viện mà bạn trực tiếp sử dụng có thể tác động nhiều hơn đến ứng dụng của bạn. Mỗi thư viện bạn sử dụng có thể yêu cầu các phần phụ thuộc thư viện khác, tạo thành một biểu đồ phần phụ thuộc bắc cầu lớn hơn.

Dependency guard (Trình bảo vệ phần phụ thuộc) cho thấy các thay đổi trong biểu đồ đó giữa các phiên bản của ứng dụng hoặc thư viện. Đây có thể là một công cụ vô giá để phân tích việc nâng cấp, đảm bảo bạn cân nhắc cả việc nâng cấp trực tiếp và gián tiếp.

Phát hiện các phần phụ thuộc không dùng đến và bị sử dụng sai

Việc duy trì trạng thái tốt cho bản dựng có thể cải thiện tốc độ bản dựng và đảm bảo ứng dụng cũng như thư viện của bạn có quyền truy cập vào các phần phụ thuộc cần thiết. Trình bổ trợ Gradle phân tích phần phụ thuộc cung cấp cho bạn các công cụ để kiểm tra phần phụ thuộc, kiểm tra việc sử dụng đúng cách trong tệp bản dựng.

Các báo cáo này bao gồm:

  • Phần phụ thuộc không dùng đến
  • Dùng các phần phụ thuộc bắc cầu (bạn nên khai báo rõ ràng các phần phụ thuộc này để ứng dụng có thể truy cập nếu các phần phụ thuộc trực tiếp của bạn ngừng sử dụng)
  • Các phần phụ thuộc được khai báo trong phạm vi không chính xác
  • Sử dụng một số trình bổ trợ không cần thiết
  • Khung hiển thị GraphViz cho các phần phụ thuộc

Quản lý giấy phép

Nhà phát triển của mỗi thư viện cấp phép cho bạn sử dụng thư viện đó. Bạn phải tuân thủ các điều khoản của giấy phép thì mới có thể sử dụng thư viện đó. Một số giấy phép rất dễ tính, thường chỉ yêu cầu thông báo về việc sử dụng. Một số được coi là "virus"; nếu sử dụng các thư viện đó, bạn phải áp dụng cùng một giấy phép cho ứng dụng hoặc thư viện của mình.

Giấy phép có thể thay đổi theo bất kỳ bản phát hành nào. Bất cứ khi nào nâng cấp, bạn nên xác minh rằng các phần phụ thuộc bạn đang sử dụng được cấp phép theo cách tương thích với ứng dụng hoặc thư viện của bạn.

Báo cáo giấy phép

Trình bổ trợ Báo cáo giấy phép Gradle giúp bạn báo cáo các giấy phép của tất cả các phần phụ thuộc. Hãy nhớ kiểm tra báo cáo này khi bạn nâng cấp bất kỳ phần phụ thuộc nào. Xác minh rằng các giấy phép đó tương thích với yêu cầu của bạn và đảm bảo bạn đáp ứng các điều khoản bắt buộc của giấy phép.

Tạo thông báo về giấy phép

Các điều khoản cấp phép thường yêu cầu thông báo mà người dùng ứng dụng hoặc người tiêu dùng thư viện có thể truy cập. Trình bổ trợ giấy phép Gradle tạo dữ liệu hoặc HTML để hiển thị các thông báo đó trong ứng dụng của bạn.

Mặc dù tính năng này tự động hoá nhiều yêu cầu về thông báo, nhưng không báo cáo các giấy phép tài nguyên (ví dụ: giấy phép cần thiết cho phông chữ, hình ảnh hoặc âm thanh) hoặc giấy phép của các đoạn mã mà bạn sao chép từ Internet. Bạn cần theo dõi và báo cáo việc sử dụng như vậy theo cách thủ công.