Jetifier

Công cụ độc lập Jetifier sẽ di chuyển các thư viện phụ thuộc vào thư viện hỗ trợ (support-library-dependent) để dựa vào các gói AndroidX tương đương. Công cụ này cho phép bạn di chuyển trực tiếp một thư viện riêng lẻ thay vì sử dụng trình bổ trợ Android cho Gradle đi kèm với Android Studio.

Cài đặt Jetifier

Để cài đặt Jetifier, hãy tải tệp zip xuống và giải nén. Thiết bị của bạn phải cài đặt Java phiên bản 1.8 trở lên.

Cách sử dụng

Để xử lý một thư viện, hãy chuyển đường dẫn đến thư viện hiện tại và đường dẫn đến tệp đầu ra mà công cụ sẽ tạo. Jetifier hỗ trợ các tệp JAR, AAR và ZIP, bao gồm cả các tệp lưu trữ lồng nhau.

./jetifier-standalone -i <source-library> -o <output-library>

Tuỳ chọn

Bảng sau đây liệt kê các tuỳ chọn có sẵn dành cho các lệnh của công cụ Jetifier:

Tuỳ chọn Bắt buộc? Nội dung mô tả
-i, --input <path> Đường dẫn đến thư viện đầu vào (JAR, AAR hoặc ZIP).
-o, --output <path> Đường dẫn đến tệp đầu ra. Nếu tệp đã tồn tại, Jetifier sẽ ghi đè tệp đó.
-c, --config <path> không Đường dẫn đến tệp cấu hình tuỳ chỉnh không bắt buộc.
-l, --log <level> không Mức ghi nhật ký. Các giá trị được cho phép là:
  • lỗi
  • cảnh báo
  • thông tin
  • mức độ chi tiết
Nếu không được chỉ định, giá trị mặc định sẽ là "cảnh báo".
-r không Hoạt động ở chế độ đảo ngược ("huỷ bỏ di chuyển").
-rebuildTopOfTree,
--rebuildTopOfTree
không Tạo lại tệp ZIP của bản phân phối Maven theo tệp POM đã tạo.
Nếu được đặt, mọi thư viện đã viết lại sẽ được coi là một phần của Thư viện hỗ trợ. Không cần thiết phải di chuyển.
-s, --strict không Không được tạo bản dự phòng khi thiếu quy tắc; hãy gửi lỗi.
-stripSignatures,
--stripSignatures
không Đừng gửi lỗi khi di chuyển thư viện đã ký; thay vào đó, hãy loại bỏ các tệp chữ ký.
-t, -timestamp <arg> không Chính sách dấu thời gian để dùng cho các mục được lưu trữ làm thời gian sửa đổi. Giá trị: thời gian bắt đầu của hệ thống keepPrevious (mặc định) hoặc hiện tại.

Ví dụ

Ví dụ sau chạy tiện ích trên thư viện libraryToProcess.aar (trong thư mục hiện tại) và ghi đầu ra vào result.aar trong cùng một thư mục:

./jetifier-standalone -i libraryToProcess.aar -o result.aar

Lưu ý về cách sử dụng

Jetifier di chuyển các tệp tham chiếu Java, XML, POM và ProGuard trỏ đến các gói android.support.*, thay đổi để các gói này trỏ đến các gói androidx.* tương ứng.

Vì ký tự đại diện ProGuard cho android.support.* không phải lúc nào cũng ánh xạ trực tiếp đến các gói androidx.*, nên Jetifier tạo ra tất cả các ký tự thay thế đủ điều kiện.

Nếu có một loại trong gói android.support.* không xuất phát từ bất kỳ cấu phần phần mềm của Thư viện hỗ trợ nào, thì Jetifier vẫn di chuyển loại đó miễn là có ánh xạ cho loại đó. Tuy nhiên, việc di chuyển này không đảm bảo sẽ thực hiện được vì có thể các quy tắc ánh xạ chung sẽ không bao gồm tất cả các loại tuỳ chỉnh đó.

Cách sử dụng nâng cao

Tiện ích Jetifier hỗ trợ một số trường hợp sử dụng nâng cao.

Chế độ đảo ngược

Nếu bạn vượt qua cờ -r, tiện ích sẽ chạy ở chế độ đảo ngược. Ở chế độ này, tiện ích sẽ chuyển đổi API AndroidX thành các API tương đương trong Thư viện hỗ trợ. Chế độ đảo ngược sẽ hữu ích nếu bạn đang phát triển thư viện sử dụng API AndroidX nhưng cũng cần phân phối các phiên bản sử dụng Thư viện hỗ trợ.

Ví dụ

Ví dụ sau đây chạy tiện ích ở chế độ đảo ngược trên thư viện myAndroidXLib.aar (trong thư mục hiện tại) và ghi dữ liệu đầu ra vào supportLibVersion.aar trong cùng một thư mục:

./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar

Tệp cấu hình tuỳ chỉnh

Công cụ Jetifier sử dụng tệp cấu hình để ánh xạ các lớp của Thư viện hỗ trợ tới các lớp tương đương trong AndroidX. Nếu cần, bạn có thể tạo một tệp cấu hình tuỳ chỉnh để thay đổi mục ánh xạ này. Thậm chí, bạn có thể thêm các lớp mới vào mục ánh xạ không thực sự là thành phần của Thư viện hỗ trợ. Ví dụ: bạn có thể sửa đổi mục ánh xạ để thay thế một trong các lớp của riêng bạn bằng một lớp kế tiếp được viết để sử dụng AndroidX.

Cách sử dụng tệp cấu hình tuỳ chỉnh:

  1. Trích xuất tệp default.generated.config từ tệp jetifier-core-*.jar của tiện ích và lưu tệp đó.
  2. Thực hiện mọi hoạt động chỉnh sửa cần thiết đối với bản sao của tệp cấu hình.
  3. Chuyển tệp của bạn vào tiện ích có cờ -c.

Ví dụ:

./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config