sdkmanager

sdkmanager เป็นเครื่องมือบรรทัดคำสั่งที่ให้คุณดู ติดตั้ง อัปเดต และถอนการติดตั้งแพ็กเกจสำหรับ Android SDK หากใช้ Android Studio คุณไม่จำเป็นต้องใช้เครื่องมือนี้ และคุณสามารถจัดการ แพ็กเกจ SDK จาก IDE

เครื่องมือ sdkmanager มีให้บริการใน แพ็กเกจเครื่องมือบรรทัดคำสั่ง Android SDK หากต้องการใช้ SDK Manager เพื่อติดตั้งเวอร์ชันเครื่องมือบรรทัดคำสั่ง ให้ทำตามขั้นตอนต่อไปนี้

  1. ดาวน์โหลด "เครื่องมือบรรทัดคำสั่งเท่านั้น" เวอร์ชันล่าสุด จากหน้าดาวน์โหลด Android Studio และ คลายการบีบอัดแพ็กเกจ
  2. ย้ายไดเรกทอรี cmdline-tools ที่แตกแล้วไปยังไดเรกทอรีใหม่ ที่คุณเลือก เช่น android_sdk ไดเรกทอรีใหม่นี้เป็น ไดเรกทอรี Android SDK
  3. ในไดเรกทอรี cmdline-tools ที่แตกแล้ว ให้สร้าง ไดเรกทอรีย่อยที่ชื่อ latest
  4. ย้ายเนื้อหาไดเรกทอรีต้นฉบับ cmdline-tools ซึ่งรวมถึง ไดเรกทอรี lib ไดเรกทอรี bin NOTICE.txt และ source.properties ลงใน ไดเรกทอรี latest ที่สร้างใหม่ คุณใช้บรรทัดคำสั่งได้แล้ว เครื่องมือจากตำแหน่งนี้
  5. (ไม่บังคับ) หากต้องการติดตั้งเครื่องมือบรรทัดคำสั่งเวอร์ชันก่อนหน้า ให้เรียกใช้ คำสั่งต่อไปนี้

    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;34.0.0" หรือ "platforms;android-33"

คุณสามารถส่งผ่านได้หลายแพ็กเกจ เส้นทาง โดยคั่นด้วยการเว้นวรรค แต่แต่ละเส้นทางจะต้องรวมอยู่ในชุดของ คำกล่าว เช่น วิธีติดตั้งเครื่องมือล่าสุดของแพลตฟอร์มและ เครื่องมือ SDK สำหรับ API ระดับ 33:

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

หรือคุณจะส่งไฟล์ข้อความที่ระบุแพ็กเกจทั้งหมดก็ได้ ดังนี้

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 ไว้ด้วย พร้อมใช้งาน แชแนล ได้แก่

0 (เสถียร), 1 (เบต้า), 2 (เวอร์ชันที่กำลังพัฒนา), และ 3 (Canary)

--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 หมายเลขพอร์ตของพร็อกซีที่จะเชื่อมต่อ