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 เพื่อติดตั้งเครื่องมือบรรทัดคำสั่งเวอร์ชันใดเวอร์ชันหนึ่ง ให้ทำตามขั้นตอนต่อไปนี้
- ดาวน์โหลดแพ็กเกจเครื่องมือบรรทัดคำสั่งล่าสุดจากหน้า 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
|
หมายเลขพอร์ตพร็อกซีที่จะเชื่อมต่อ |