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), có một phiên bản thư viện hỗ trợ mới có tên là AndroidX, 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 phiên bản 27 trở về trước và được đóng gói dưới dạng android.support.*) sẽ vẫn 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 thư viện AndroidX trong tất cả cá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à nhiều 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ợ 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 nhiều thư viện cung cấp, hãy xem phần 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 ứ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 của bạn:

  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 ở tệp build.gradle của mô-đun. Ví dụ: để thêm thư viện cốt lõi v4, 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 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 ngoài dự kiến và không tương thích hồi quy. Bạn nên chỉ định rõ ràng 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 tính năng hỗ trợ cho các API khung hiện có thường 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 chắc chắn rằng bạn nhập các 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 rút gọn, làm rối mã nguồn và tối ưu hoá ứng dụng cho bản 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 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ờ đó, kích thước tải xuống của ứng dụng luôn nhỏ nhất có thể.

Bạn có thể xem thêm hướng dẫn sử dụng một số tính năng của Thư viện hỗ trợ trong các lớp đào tạo, hướng dẫn và ví dụ dành cho nhà phát triển Android. Để biết thêm thông tin về từng lớp và phương thức 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.

Thay đổi đối với nội dung khai báo trong tệp kê khai

Nếu bạn muốn tăng khả năng tương thích ngược của ứng dụng hiện có lên phiên bản API Android cũ thông qua 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ư thể hiện 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 ứ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 trên Gradle, chế độ cài đặt minSdkVersion trong tệp bản dựng sẽ ghi đè các 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 sẽ cho Google Play biết rằng bạn có thể cài đặt biến thể bản dựng mặc định của ứng dụng 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 nội dung Tổng quan về hệ thống xây dựng.

Lưu ý: Nếu bạn đang bao gồ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 theo yêu cầu của mọi thư viện được chỉ định. Ví dụ: nếu ứng dụng của bạn bao gồm 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.