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

Lưu ý: Khi phát hành Android 9.0 (API cấp 28), có một phiên bản mới của thư viện hỗ trợ 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 cũ (những cấu phần có phiên bản 27 trở về trước và được đóng gói dưới dạng android.support.*) vẫn sẽ có trên Google Maven. Tuy nhiên, mọi hoạt động 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 bạn 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 cách tải gói Thư viện hỗ trợ xuống và thêm các 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 các 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à 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 cung cấp, hãy xem phần Các tính năng của Thư viện hỗ trợ.

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

Để sử dụng một Thư viện hỗ trợ, bạn phải sửa đổi các phần phụ thuộc trên đường dẫn lớp của dự án ứng dụng 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. Thêm 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 của tệp build.gradle của mô-đun. Ví dụ: để thêm thư viện core-utils v4, hãy thêm nội dung sau:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }

Thận trọng: Việc sử dụng các 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 không mong muốn và sự 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 Thư viện hỗ trợ cung cấp hoạt độ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 các 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 thích 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 giảm kích thước, 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, tính năng rút gọn sẽ 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, nhờ đó giữ cho kích thước tải xuống của ứng dụng ở mức nhỏ nhất có thể.

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

Thay đổi về 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ó với phiên bản cũ hơn của API Android bằng 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 thành số phiên bản mới, thấp hơn, như minh hoạ bên dưới:

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

Chế độ cài đặt tệp kê khai cho Google Play biết rằng ứng dụng của bạn có thể được cài đặt 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, thì 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 bản 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à bất kỳ thư viện nào trong số các thư viện được 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 v14Thư viện Leanback v17, thì phiên bản SDK tối thiểu phải là 17 trở lên.