sdkmanager เป็นเครื่องมือบรรทัดคำสั่งที่ช่วยให้คุณดู ติดตั้ง อัปเดต และถอนการติดตั้งแพ็กเกจสำหรับ Android SDK ได้ หากคุณใช้ Android
Studio ก็ไม่จำเป็นต้องใช้เครื่องมือนี้ และสามารถจัดการแพ็กเกจ
SDK จาก IDE แทนได้
Android CLI
ดาวน์โหลด Android CLIใช้ Android CLI เพื่อจัดการแพ็กเกจสำหรับ Android SDK
sdkmanager แล้ว
แต่ให้ใช้คำสั่ง android sdk ของ Android CLI แทนandroid sdk [install|list|update|remove]เครื่องมือ sdkmanager มีให้ในแพ็กเกจ
เครื่องมือบรรทัดคำสั่งของ Android SDK
หากต้องการใช้ SDK Manager เพื่อติดตั้งเครื่องมือบรรทัดคำสั่งเวอร์ชันใดเวอร์ชันหนึ่ง ให้ทำตามขั้นตอนต่อไปนี้
- ดาวน์โหลดแพ็กเกจเครื่องมือบรรทัดคำสั่งเวอร์ชันล่าสุดจากหน้า Android Studio แล้วแตกไฟล์แพ็กเกจ
- ย้ายไดเรกทอรี
cmdline-toolsที่แตกไฟล์แล้วไปยังไดเรกทอรีใหม่ ที่คุณเลือก เช่น android_sdk ไดเรกทอรีใหม่นี้คือ ไดเรกทอรี Android SDK - ในไดเรกทอรี
cmdline-toolsที่แตกไฟล์แล้ว ให้สร้าง ไดเรกทอรีย่อยชื่อlatest - ย้ายเนื้อหาของไดเรกทอรี
cmdline-toolsเดิม ซึ่งรวมถึงไดเรกทอรีlib, ไดเรกทอรีbin, ไฟล์NOTICE.txtและไฟล์source.propertiesไปยังไดเรกทอรีlatestที่สร้างขึ้นใหม่ ตอนนี้คุณใช้เครื่องมือบรรทัดคำสั่งจากตำแหน่งนี้ได้แล้ว (ไม่บังคับ) หากต้องการติดตั้งเครื่องมือบรรทัดคำสั่งเวอร์ชันก่อนหน้า ให้เรียกใช้คำสั่งต่อไปนี้
แทนที่android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
versionด้วยเวอร์ชันที่ต้องการติดตั้ง เช่น5.0
การใช้งาน
คุณสามารถใช้ sdkmanager เพื่อแสดงรายการแพ็กเกจที่ติดตั้งและพร้อมใช้งาน ติดตั้งแพ็กเกจ และอัปเดตแพ็กเกจ ดูข้อมูลเพิ่มเติมได้ในส่วนต่อไปนี้
แสดงรายการแพ็กเกจที่ติดตั้งและพร้อมใช้งาน
หากต้องการแสดงรายการแพ็กเกจที่ติดตั้งและพร้อมใช้งาน ให้ใช้ไวยากรณ์ต่อไปนี้
sdkmanager --list [options] \
[--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)
ใช้ตัวเลือก channel เพื่อรวมแพ็กเกจจากช่องทางหนึ่งจนถึงช่องทาง channel_id (รวมช่องทางนี้ด้วย) เช่น ระบุช่องทาง Canary เพื่อแสดงรายการ
แพ็กเกจจากทุกช่องทาง
ติดตั้งแพ็กเกจ
หากต้องการติดตั้งแพ็กเกจ ให้ใช้ไวยากรณ์ต่อไปนี้
sdkmanager packages [options]
อาร์กิวเมนต์ packages คือเส้นทางรูปแบบ SDK ดังที่แสดงด้วย
คำสั่ง --list ซึ่งอยู่ในเครื่องหมายคำพูด เช่น
"build-tools;36.0.0" หรือ
"platforms;android-36"
คุณสามารถส่งเส้นทางแพ็กเกจหลายเส้นทางโดยคั่นด้วยช่องว่าง แต่ละเส้นทางต้องอยู่ในเครื่องหมายคำพูดของตัวเอง ตัวอย่างเช่น วิธีติดตั้งเครื่องมือแพลตฟอร์มเวอร์ชันล่าสุดและเครื่องมือ SDK สำหรับ API ระดับ 36 มีดังนี้
sdkmanager "platform-tools" "platforms;android-36"
หรือจะส่งไฟล์ข้อความที่ระบุแพ็กเกจทั้งหมดก็ได้ โดยทำดังนี้
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]
ยอมรับใบอนุญาต
คุณต้องยอมรับใบอนุญาตที่จำเป็นสำหรับแพ็กเกจแต่ละรายการที่ติดตั้ง ขั้นตอนนี้จะเกิดขึ้นในระหว่างขั้นตอนการติดตั้งเมื่อคุณติดตั้งแพ็กเกจจากภายใน Android Studio
หากคุณไม่ได้ติดตั้ง Android Studio หรือติดตั้งไว้สำหรับเซิร์ฟเวอร์ CI หรืออุปกรณ์ Linux แบบไม่มีส่วนหัวอื่นๆ ที่ไม่มี GUI ให้ทำดังนี้จากบรรทัดคำสั่ง
sdkmanager --licenses
ระบบจะแจ้งให้คุณยอมรับใบอนุญาตที่ยังไม่ได้ยอมรับ
ตัวเลือก
ตารางต่อไปนี้แสดงตัวเลือกที่มีสำหรับคำสั่งที่ระบุไว้ในส่วนก่อนหน้า
| ตัวเลือก | คำอธิบาย |
|---|---|
--sdk_root=path
|
ใช้เส้นทาง SDK ที่ระบุแทน SDK ที่มีเครื่องมือนี้ |
--channel=channel_id
|
รวมแพ็กเกจในช่องทางจนถึง channel_id ช่องทางที่มีให้บริการ
มีดังนี้
|
--include_obsolete
|
รวมแพ็กเกจที่เลิกใช้แล้วไว้ในข้อมูลแพ็กเกจหรือการอัปเดตแพ็กเกจ
สำหรับใช้กับ --list และ --update เท่านั้น
|
--no_https
|
บังคับให้การเชื่อมต่อทั้งหมดใช้ HTTP แทน HTTPS |
--newer
|
เมื่อใช้ --list ให้แสดงเฉพาะแพ็กเกจใหม่หรือแพ็กเกจที่อัปเดตได้
|
--verbose
|
โหมดเอาต์พุตแบบละเอียด ระบบจะพิมพ์ข้อความแสดงข้อผิดพลาด คำเตือน และเพื่อแจ้งข้อมูล |
--proxy={http | socks}
|
เชื่อมต่อผ่านพร็อกซีประเภทที่ระบุ ได้แก่ http สำหรับ
โปรโตคอลระดับสูง เช่น HTTP หรือ FTP หรือ
socks สำหรับพร็อกซี SOCKS (V4 หรือ V5)
|
--proxy_host={IP_address | DNS_address}
|
ที่อยู่ IP หรือ DNS ของพร็อกซีที่จะใช้ |
--proxy_port=port_number
|
หมายเลขพอร์ตพร็อกซีที่จะเชื่อมต่อ |