sdkmanager

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

ابزار sdkmanager در بسته Android SDK Command-Line Tools ارائه شده است. برای استفاده از 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 استفاده کنید. به عنوان مثال، کانال قناری را برای لیست کردن بسته های همه کانال ها مشخص کنید.

بسته ها را نصب کنید

برای نصب بسته ها از سینتکس زیر استفاده کنید:

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 رخ می دهد.

اگر اندروید استودیو را نصب نکرده‌اید، یا برای سرور CI یا سایر دستگاه‌های لینوکس هدلس بدون رابط کاربری گرافیکی نصب شده است، از خط فرمان موارد زیر را انجام دهید:

sdkmanager --licenses

این امر شما را وادار می کند که مجوزهایی را که قبلاً پذیرفته نشده اند بپذیرید.

گزینه ها

جدول زیر گزینه های موجود برای دستورات فهرست شده در بخش قبل را فهرست می کند:

گزینه توضیحات
--sdk_root= path از مسیر SDK مشخص شده به جای SDK حاوی این ابزار استفاده کنید.
--channel= channel_id شامل بسته‌ها در کانال‌های تا و از جمله channel_id. کانال های موجود عبارتند از:

0 (پایدار)، 1 (بتا)، 2 (Dev) و 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 شماره پورت پراکسی برای اتصال.