[Android] AndroidX là gì? Vai trò và cách sử dụng
AndroidX là một mã nguồn mở mà những Developers của Google dùng để phát triển, test, đóng gói và phát hành các thư viện trong Jetpack. AndroidX chỉ mới được giới thiệu gần đây ở trong gói Jetpack của Google và hàu như chưa được sử dụng rộng rãi.
AndroidX là một mã nguồn mở mà những Developers của Google dùng để phát triển, test, đóng gói và phát hành các thư viện trong Jetpack. AndroidX chỉ mới được giới thiệu gần đây ở trong gói Jetpack của Google và hàu như chưa được sử dụng rộng rãi.
1. Tính năng của AndroidX
AndroidX là một cải tiến lớn đối với thư viện Android Support Library gốc. Cũng giống như Android Support Library, AndroidX phân phối riêng biệt với hệ điều hành Android và cung cấp khả năng tương thích ngược trên các phiên bản Android trước đó. AndroidX thay thế hoàn toàn Support Library bằng cách cung cấp tính năng hỗ trợ và những thư viện mới. Ngoài ra AndroidX còn bao gồm tính năng sau:
-
Tất cả các package trong AndroidX đều tồn tại trong một namespace nhất quán, bắt đầu bằng chuỗi androidx. Các package của Support Library được ánh xạ vào trong các package của androix.* tương ứng.
-
Không giống như Support Library. AndroidX được maintain và cập nhật riêng. android.* package sử dụng nghiêm ngặt Semantic Vesioning bắt đầu với version 1.0.0 . Bạn có thể hiểu Semantic Vesioning là một cái để giải quyết vấn đề khi các thứ phục thuộc lẫn nhau trong một dự án lớn.
- Mọi thứ phát triển mới trong Support Library sẽ có trong AndroidX. Điều này bao gồm cả việc bảo trì các Support Library ban đầu và giới thiệu thêm thành phần Jetpack mới.
2. Sử dụng AndroidX
- Khi tạo mới project.
Nếu bạn muốn sử dụng AndroidX trong một project mới, bạn cần thiết lập SDK cho compiler time thành Android 9.0 (API level 28) hoặc cao hơn và đặt cả hai cờ Android Gradle plugin thành true trong file gradle.properties của bạn:
android.useAndroidX: khi set là true thì Android plugin sẽ sử dụng thư viện AndroidX thích hợp thay vì sử dụng Support Library. Nếu không chỉ định thì giá trị default là false.
android.enableJetifier: Khi set là true thì Android plugin tự động di chuyển các thư viện bên thứ 3 hiện có để dụng AndroidX bằng cách viết lại các file nhị phân của chúng. Mặc định cũng là cờ false
android.useAndroidX=true android.enableJetifier=true
-
Di chuyển sang AndroidX từ project hiện có.
Android ánh xạ các Support Library API vào androidx namespace. Chỉ tên của package và Maven artifact bị thay đổi, còn tên class, method và fied thì không.
Với Android Studio 3.2 hoặc cao hơn, bạn có thể nhanh chóng di chuyển project hiện có để sử dụng AndroidX bằng cách chọn Refactor > Migrate to AndroidX từ thanh menu
Nếu bạn có bất kì phục thuộc Maven nào chưa được di chuyển sang AndroidX namespace, hệ thống Android Studio cũng sẽ di chuyển những phụ thuộc đó khi bạn đặt 2 cờ thành true trong file gradle.properties của mình như trên mục 2.1.
Để chuyển dự án hiện tại không sử dụng bất kì thư viện bên thứ 3 nào có phụ thuộc cần chuyển đổi, bạn có thể đặt cờ cho android.useAndroidX là true, còn android.enableJetifier là false.
Bạn có thể tham khảo về bảng ánh xạ thư viện và các class từ phiên bản cũ sang Android:
3. Tài nguyên bổ sung
Các thành phần của Jetpack là một phần của thư viện AndroidX, nếu chưa rõ về Jetpack các bạn có thể đọc ở trang chủ.
Để biết thêm về cách tái cấu trúc từ Support Library sang AndroidX bạn cũng có thể theo dõi ở blog của google.
Trên đây, mình đã giới thiệu cho các bạn những hiểu biết cơ bản về AndroidX, cảm ơn các bạn đã đọc.
Tài liệu tham khảo
- https://viblo.asia/p/androidx-ban-da-dung-no-chua-bJzKmXww59N
- https://developer.android.com/jetpack/androidx
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!