sdkmanager یک ابزار خط فرمان است که به شما امکان مشاهده، نصب، بهروزرسانی و حذف بستههای SDK اندروید را میدهد. اگر از اندروید استودیو استفاده میکنید، نیازی به استفاده از این ابزار ندارید و میتوانید بستههای SDK خود را از IDE مدیریت کنید .
ابزار sdkmanager در بسته ابزارهای خط فرمان اندروید SDK ارائه شده است. برای استفاده از SDK Manager جهت نصب نسخهای از ابزارهای خط فرمان، مراحل زیر را دنبال کنید:
- آخرین بسته ابزارهای خط فرمان را از صفحه اندروید استودیو دانلود کنید و بسته را استخراج کنید.
- پوشهی
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;35.0.0" یا "platforms;android-33" .
شما میتوانید چندین مسیر بسته را که با فاصله از هم جدا شدهاند، ارسال کنید، اما هر کدام باید در مجموعه نقل قولهای خود قرار گیرند. برای مثال، در اینجا نحوه نصب جدیدترین ابزارهای پلتفرم و ابزارهای SDK برای API سطح ۳۳ آمده است:
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]
پذیرش مجوزها
شما ملزم به پذیرش مجوز لازم برای هر بستهای که نصب کردهاید هستید. این مرحله در طول فرآیند نصب، هنگام نصب بستهها از داخل اندروید استودیو انجام میشود.
اگر اندروید استودیو را نصب ندارید، یا برای یک سرور CI یا سایر دستگاههای لینوکس بدون رابط کاربری گرافیکی نصب شده است، موارد زیر را از خط فرمان انجام دهید:
sdkmanager --licenses
این از شما میخواهد مجوزهایی را که قبلاً پذیرفته نشدهاند، بپذیرید.
گزینهها
جدول زیر گزینههای موجود برای دستورات ذکر شده در بخش قبل را فهرست میکند:
| گزینه | توضیحات |
|---|---|
--sdk_root= path | به جای SDK حاوی این ابزار، از مسیر SDK مشخص شده استفاده کنید. |
--channel= channel_id | بستهها را در کانالها تا و از جمله channel_id قرار دهید. کانالهای موجود عبارتند از: |
--include_obsolete | بستههای منسوخشده را در فهرست بستهها یا بهروزرسانیهای بستهها لحاظ کنید. فقط برای استفاده با --list و --update . |
--no_https | تمام اتصالات را مجبور کنید که به جای HTTPS از HTTP استفاده کنند. |
--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 | شماره پورت پروکسی برای اتصال. |