sdkmanager

sdkmanager는 Android SDK용 패키지를 보고 설치하고 업데이트하고 제거할 수 있는 명령줄 도구입니다. Android 스튜디오를 사용하는 경우 이 도구를 사용할 필요가 없으며 대신 IDE에서 SDK 패키지를 관리할 수 있습니다.

sdkmanager 도구는 Android SDK 도구 패키지(25.2.3 이상)에서 제공되며 android_sdk/tools/bin/에 있습니다.

사용

sdkmanager를 사용하여 다음 작업을 실행할 수 있습니다.

설치된 패키지 또는 사용 가능한 패키지 목록

sdkmanager --list [options] \
           [--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)

channel 옵션을 사용하여 channel_id 이하 채널의 패키지를 포함합니다. 예를 들어 카나리아 채널을 지정하여 모든 채널의 패키지를 나열합니다.

패키지 설치

sdkmanager packages [options]

packages 인수는 --list 명령어에서 보이는 것과 같이 따옴표로 묶은 SDK 스타일의 경로입니다(예: "build-tools;29.0.2" 또는 "platforms;android-28"). 공백으로 구분된 여러 패키지 경로를 전달할 수 있지만 각각 자체 따옴표로 묶어야 합니다.

예를 들어 다음은 최신 플랫폼 도구(adbfastboot 포함) API 수준 28용 SDK 도구를 설치하는 방법입니다.

sdkmanager "platform-tools" "platforms;android-28"

또는 모든 패키지를 지정하는 텍스트 파일을 전달할 수 있습니다.

sdkmanager --package_file=package_file [options]

package_file 인수는 텍스트 파일의 위치입니다. 여기서 각 줄은 설치할 패키지의 SDK 스타일 경로(따옴표 없음)입니다.

제거하려면 --uninstall 플래그를 추가하면 됩니다.

sdkmanager --uninstall packages [options]
sdkmanager --uninstall --package_file=package_file [options]

CMake 또는 NDK를 설치하려면 다음 구문을 사용합니다.

sdkmanager --install
           ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"]
           [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)

예를 들어 다음 명령어를 사용하여 현재 사용하는 채널과 관계없이 지정된 NDK 버전을 설치합니다.

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

설치된 모든 패키지 업데이트

sdkmanager --update [options]

옵션

다음 표는 위의 명령어와 함께 사용 가능한 옵션입니다.

옵션 설명
--sdk_root=path 이 도구를 포함하는 SDK 대신 지정된 SDK 경로를 사용합니다.
--channel=channel_id channel_id 이하 채널에 패키지를 포함합니다. 사용 가능한 채널은 다음과 같습니다.

0(안정적), 1(베타), 2(개발) 및 3(Canary).

--include_obsolete 사용되지 않는 패키지를 패키지 목록 또는 패키지 업데이트에 포함합니다. --list--update에서만 사용합니다.
--no_https 모든 연결이 HTTPS가 아닌 HTTP를 사용하도록 강제합니다.
--verbose 상세 출력 모드. 오류, 경고 및 정보 메시지가 출력됩니다.
--proxy={http | socks} 지정된 유형의 프록시를 통해 연결합니다. HTTP 또는 FTP와 같은 높은 레벨의 프로토콜에는 http를 사용하고, SOCKS(V4 또는 V5) 프록시에는 socks를 사용합니다.
--proxy_host={IP_address | DNS_address} 사용할 프록시의 IP 또는 DNS 주소입니다.
--proxy_port=port_number 연결할 프록시 포트 번호입니다.