مدير sdk

أداة sdkmanager هي أداة سطر أوامر تتيح لك عرض حِزم حزمة تطوير البرامج (SDK) لنظام التشغيل Android وتثبيتها وتحديثها وإلغاء تثبيتها. إذا كنت تستخدم Android IDE، لن تحتاج إلى استخدام هذه الأداة، ويمكنك بدلاً من ذلك إدارة حزم IDE SDK من IDE.

تتوفر أداة sdkmanager في حزمة أدوات سطر أوامر حزمة تطوير البرامج (SDK) لنظام التشغيل Android. لاستخدام "مدير حِزم تطوير البرامج (SDK)" لتثبيت إصدار من أدوات سطر الأوامر، اتّبِع الخطوات التالية:

  1. نزِّل أحدث حزمة أدوات سطر الأوامر من صفحة استوديو Android واستخرِج الحزمة.
  2. انقِل الدليل cmdline-tools الذي تم فك ضغطه إلى دليل جديد من اختيارك، مثل android_sdk. هذا الدليل الجديد هو دليل حزمة SDK لنظام التشغيل Android.
  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) للمستوى 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" مثبّتًا، أو كان مخصّصًا لخادم عملية التكامل المستمر (CI) أو جهاز Linux آخر بدون واجهة مستخدم تصويرية، عليك تنفيذ الخطوات التالية من سطر الأوامر:

sdkmanager --licenses

سيُطلب منك قبول أي تراخيص لم يتم قبولها من قبل.

الخيارات

يسرد الجدول التالي الخيارات المتاحة للأوامر المدرَجة في القسم السابق:

Option الوصف
--sdk_root=path استخدِم مسار حزمة تطوير البرامج (SDK) المحدّد بدلاً من حزمة SDK التي تحتوي على هذه الأداة.
--channel=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 (الإصدار 4 أو الإصدار 5).
--proxy_host={IP_address | DNS_address} عنوان IP أو عنوان نظام أسماء النطاقات للخادم الوكيل المطلوب استخدامه
--proxy_port=port_number رقم منفذ الخادم الوكيل المطلوب الاتصال به