Thiết lập thư viện hỗ trợ

Lưu ý: Với bản phát hành Android 9.0 (API cấp 28), thư viện hỗ trợ này có một phiên bản mới có tên là AndroidX. Đây là một phần của Jetpack. Thư viện AndroidX chứa thư viện hỗ trợ hiện có và cũng bao gồm các thành phần Jetpack mới nhất.

Bạn có thể tiếp tục sử dụng thư viện hỗ trợ. Các cấu phần phần mềm lịch sử (những phiên bản 27 trở xuống và được đóng gói dưới dạng android.support.*) vẫn sẽ có trên Google Maven. Tuy nhiên, toàn bộ quá trình phát triển thư viện mới sẽ diễn ra trong thư viện AndroidX.

Bạn nên sử dụng các thư viện AndroidX trong tất cả dự án mới. Bạn cũng nên cân nhắc việc di chuyển các dự án hiện có sang AndroidX.

Cách thiết lập Thư viện hỗ trợ Android trong dự án phát triển phụ thuộc vào những tính năng bạn muốn sử dụng và phạm vi phiên bản nền tảng Android mà bạn muốn hỗ trợ bằng ứng dụng của mình.

Tài liệu này hướng dẫn bạn tải gói Thư viện hỗ trợ xuống và thêm thư viện vào môi trường phát triển.

Các thư viện hỗ trợ hiện đã có trong kho lưu trữ Maven của Google. Chúng tôi không còn hỗ trợ việc tải thư viện xuống thông qua Trình quản lý SDK nữa và chức năng đó sẽ sớm bị xoá.

Chọn thư viện hỗ trợ

Trước khi thêm Thư viện hỗ trợ vào ứng dụng, hãy quyết định những tính năng bạn muốn đưa vào và các phiên bản Android thấp nhất mà bạn muốn hỗ trợ. Để biết thêm thông tin về các tính năng do các thư viện khác nhau cung cấp, hãy xem bài viết Tính năng của Thư viện hỗ trợ.

Thêm thư viện hỗ trợ

Để sử dụng Thư viện hỗ trợ, bạn phải sửa đổi các phần phụ thuộc classpath của dự án trong môi trường phát triển. Bạn phải thực hiện quy trình này cho từng Thư viện hỗ trợ mà bạn muốn sử dụng.

Cách thêm Thư viện hỗ trợ vào dự án ứng dụng:

  1. Đưa kho lưu trữ Maven của Google vào tệp settings.gradle của dự án.
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
    
            // If you're using a version of Gradle lower than 4.1, you must
            // instead use:
            //
            // maven {
            //     url 'https://maven.google.com'
            // }
        }
    }
    
  2. Đối với mỗi mô-đun mà bạn muốn sử dụng Thư viện hỗ trợ, hãy thêm thư viện vào khối dependencies trong tệp build.gradle của mô-đun. Ví dụ: để thêm thư viện Core-utils phiên bản 4, hãy thêm đoạn mã sau:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }
    

Thận trọng: Việc sử dụng phần phụ thuộc động (ví dụ: palette-v7:23.0.+) có thể gây ra tình trạng cập nhật phiên bản ngoài dự kiến và không tương thích hồi quy. Bạn nên chỉ định rõ ràng một phiên bản thư viện (ví dụ: palette-v7:28.0.0).

Sử dụng API Thư viện hỗ trợ

Các lớp của Thư viện hỗ trợ cung cấp khả năng hỗ trợ cho các API khung hiện có thường có cùng tên với lớp khung nhưng nằm trong gói lớp android.support hoặc có hậu tố *Compat.

Thận trọng: Khi sử dụng các lớp trong Thư viện hỗ trợ, hãy nhớ nhập lớp đó từ gói phù hợp. Ví dụ: khi áp dụng lớp ActionBar:

  • android.support.v7.app.ActionBar khi sử dụng Thư viện hỗ trợ.
  • android.app.ActionBar khi chỉ phát triển cho API cấp 11 trở lên.

Lưu ý: Sau khi đưa Thư viện hỗ trợ vào dự án ứng dụng, bạn nên rút gọn, làm rối mã nguồn và tối ưu hoá ứng dụng để phát hành. Ngoài việc bảo vệ mã nguồn bằng tính năng làm rối mã nguồn, việc rút gọn còn xoá các lớp không dùng đến khỏi mọi thư viện mà bạn đưa vào ứng dụng, giúp giảm kích thước tải xuống của ứng dụng.

Bạn có thể xem thêm hướng dẫn về cách sử dụng một số tính năng của Thư viện hỗ trợ trong lớp đào tạo, hướng dẫn và mẫu dành cho nhà phát triển Android. Để biết thêm thông tin về các lớp và phương thức riêng lẻ của Thư viện hỗ trợ, hãy xem các gói android.support trong tài liệu tham khảo API.

Các thay đổi trong nội dung khai báo trong tệp kê khai

Nếu bạn đang tăng khả năng tương thích ngược của ứng dụng hiện có lên một phiên bản API Android cũ hơn cùng với Thư viện hỗ trợ, hãy nhớ cập nhật tệp kê khai của ứng dụng. Cụ thể, bạn nên cập nhật phần tử android:minSdkVersion của thẻ <uses-sdk> trong tệp kê khai lên số phiên bản mới và thấp hơn, như minh hoạ dưới đây:

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

Chế độ cài đặt tệp kê khai cho Google Play biết rằng có thể cài đặt ứng dụng của bạn trên các thiết bị chạy Android 4.0 (API cấp 14) trở lên.

Nếu bạn đang sử dụng các tệp bản dựng Gradle, chế độ cài đặt minSdkVersion trong tệp bản dựng sẽ ghi đè chế độ cài đặt tệp kê khai.

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

Trong trường hợp này, chế độ cài đặt tệp bản dựng cho Google Play biết rằng biến thể bản dựng mặc định của ứng dụng có thể được cài đặt trên các thiết bị chạy Android 4.1 (API cấp 16) trở lên. Để biết thêm thông tin về các biến thể bản dựng, hãy xem bài viết Tổng quan về hệ thống xây dựng.

Lưu ý: Nếu bạn đang thêm một số thư viện hỗ trợ, thì phiên bản SDK tối thiểu phải là phiên bản cao nhất mà thư viện đã chỉ định yêu cầu. Ví dụ: nếu ứng dụng của bạn có cả thư viện Hỗ trợ lựa chọn ưu tiên phiên bản 14thư viện Leanback phiên bản 17, thì phiên bản SDK tối thiểu phải là 17 trở lên.