sdkmanager
là một công cụ dòng lệnh cho phép bạn xem, cài đặt, cập nhật và gỡ cài đặt các gói cho SDK Android. Nếu đang sử dụng Android Studio, thì bạn không cần dùng công cụ này mà vẫn có thể quản lý các gói SDK từ IDE.
Công cụ sdkmanager
có trong gói Công cụ dòng lệnh của SDK Android.
Nếu muốn sử dụng Trình quản lý SDK để cài đặt một phiên bản công cụ dòng lệnh, hãy làm theo các bước sau:
- Tải gói "command line tools only" (chỉ các công cụ dòng lệnh) mới nhất từ trang tải Android Studio xuống rồi giải nén gói này.
- Di chuyển thư mục
cmdline-tools
đã giải nén vào một thư mục mới mà bạn chọn, chẳng hạn như android_sdk. Thư mục mới này là thư mục SDK Android của bạn. - Trong thư mục
cmdline-tools
chưa giải nén, hãy tạo một thư mục con có tên làlatest
. - Di chuyển nội dung trong thư mục
cmdline-tools
gốc, bao gồm cả thư mụclib
, thư mụcbin
, tệpNOTICE.txt
và tệpsource.properties
vào thư mụclatest
mới tạo. Giờ đây, bạn có thể sử dụng các công cụ dòng lệnh ở vị trí này. (Không bắt buộc) Để cài đặt phiên bản trước của công cụ dòng lệnh, hãy chạy lệnh sau:
Thay thếandroid_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
version
bằng phiên bản bạn muốn cài đặt, ví dụ:5.0
.
Cách sử dụng
Bạn có thể sử dụng sdkmanager
để liệt kê các gói đã cài đặt và có sẵn, cũng như cài đặt và cập nhật gói. Để biết thêm thông tin chi tiết, hãy xem các phần sau.
Liệt kê các gói đã cài đặt và có sẵn
Để liệt kê các gói đã cài đặt và có sẵn, hãy dùng cú pháp sau:
sdkmanager --list [options] \ [--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)
Sử dụng tuỳ chọn channel
để thêm gói từ một kênh lên đến và bao gồm cả channel_id
. Ví dụ: chỉ định kênh canary để liệt kê gói của tất cả các kênh.
Cài đặt gói
Để cài đặt gói, hãy dùng cú pháp sau:
sdkmanager packages [options]
Đối số packages là một đường dẫn kiểu SDK như hiển thị với lệnh --list
, được đặt trong dấu ngoặc kép. Ví dụ: "build-tools;34.0.0"
hoặc "platforms;android-33"
.
Bạn có thể truyền nhiều đường dẫn gói (được phân tách bằng một khoảng trắng) nhưng mỗi đường dẫn phải được đặt trong một cặp dấu ngoặc kép riêng. Ví dụ: dưới đây là cách cài đặt các công cụ nền tảng mới nhất và bộ công cụ SDK cho API cấp 33:
sdkmanager "platform-tools" "platforms;android-33"
Ngoài ra, bạn có thể truyền một tệp văn bản chỉ định tất cả các gói:
sdkmanager --package_file=package_file [options]
Đối số package_file là vị trí của một tệp văn bản, trong đó, mỗi dòng là một đường dẫn kiểu SDK của một gói sẽ cài đặt (không có dấu ngoặc kép).
Để gỡ cài đặt, hãy thêm cờ --uninstall
:
sdkmanager --uninstall packages [options] sdkmanager --uninstall --package_file=package_file [options]
Để cài đặt CMake hoặc NDK, hãy sử dụng cú pháp sau:
sdkmanager --install ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"] [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)
Ví dụ: sử dụng lệnh sau để cài đặt phiên bản NDK đã chỉ định, bất kể phiên bản đó đang thuộc kênh nào:
sdkmanager --install "ndk;21.3.6528147" --channel=3 // Install the NDK from the canary channel (or below) sdkmanager --install "cmake;10.24988404" // Install a specific version of CMake
Cập nhật tất cả các gói đã cài đặt
Để cập nhật tất cả các gói đã cài đặt, hãy dùng cú pháp sau:
sdkmanager --update [options]
Chấp nhận giấy phép
Bạn phải chấp nhận giấy phép cần thiết cho mỗi gói bạn đã cài đặt. Bước này diễn ra trong quy trình cài đặt, khi bạn cài đặt các gói trong Android Studio.
Nếu bạn chưa cài đặt Android Studio hoặc phải chấp nhận giấy phép trên máy chủ CI hoặc một thiết bị Linux khác không có giao diện người dùng và chưa được cài đặt GUI (Giao diện người dùng đồ hoạ), hãy nhập cú pháp như sau vào dòng lệnh:
sdkmanager --licenses
Lệnh này sẽ nhắc bạn chấp nhận mọi giấy phép chưa được chấp nhận.
Tuỳ chọn
Bảng sau trình bày các tuỳ chọn có sẵn cho những lệnh được liệt kê trong phần trước:
Tuỳ chọn | tả chọn |
---|---|
--sdk_root=path
|
Sử dụng đường dẫn SDK được chỉ định thay vì SDK có chứa công cụ này. |
--channel=channel_id
|
Đưa gói vào các kênh lên đến và bao gồm cả channel_id. Các kênh có sẵn là:
|
--include_obsolete
|
Đưa các gói đã lỗi thời vào trang thông tin về gói hoặc thông tin cập nhật về gói.
Chỉ dùng được với --list và --update .
|
--no_https
|
Buộc mọi kết nối phải sử dụng HTTP thay vì HTTPS. |
--newer
|
Khi sử dụng cùng với --list , chỉ hiển thị các gói mới hoặc gói có thể cập nhật.
|
--verbose
|
Chế độ đầu ra chi tiết. Lỗi, cảnh báo và tin nhắn thông báo sẽ được in. |
--proxy={http | socks}
|
Kết nối qua một loại proxy cụ thể: http cho
các giao thức cấp cao như HTTP hoặc FTP hoặc
socks cho một proxy SOCKS (V4 hoặc V5).
|
--proxy_host={IP_address | DNS_address}
|
Địa chỉ IP hoặc DNS của proxy cần sử dụng. |
--proxy_port=port_number
|
Số cổng proxy để kết nối. |