sdkmanager

sdkmanager یک ابزار خط فرمان است که به شما امکان مشاهده، نصب، به‌روزرسانی و حذف بسته‌های SDK اندروید را می‌دهد. اگر از اندروید استودیو استفاده می‌کنید، نیازی به استفاده از این ابزار ندارید و می‌توانید بسته‌های SDK خود را از IDE مدیریت کنید .

ابزار sdkmanager در بسته ابزارهای خط فرمان اندروید SDK ارائه شده است. برای استفاده از SDK Manager جهت نصب نسخه‌ای از ابزارهای خط فرمان، مراحل زیر را دنبال کنید:

  1. آخرین بسته ابزارهای خط فرمان را از صفحه اندروید استودیو دانلود کنید و بسته را استخراج کنید.
  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;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 قرار دهید. کانال‌های موجود عبارتند از:

0 (پایدار)، 1 (بتا)، 2 (توسعه‌یافته) و 3 (قناری).

--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 شماره پورت پروکسی برای اتصال.