مدير sdk

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

يتم توفير الأداة 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. (اختياري) لتثبيت إصدار سابق من أدوات سطر الأوامر، نفِّذ الأمر التالي:

    استبدِل version بالإصدار الذي تريد تثبيته، على سبيل المثال 5.0.
    android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
    

الاستخدام

يمكنك استخدام 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;35.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".

إذا لم يكن لديك Android Studio مثبَّتًا، أو إذا كان مخصّصًا لخادم دمج متواصل أو جهاز Linux آخر بدون واجهة مستخدم تصويرية مثبَّتة، اتّبِع الخطوات التالية من سطر الأوامر:

sdkmanager --licenses

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

الخيارات

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

Option الوصف
--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 (الإصدار 4 أو 5).
--proxy_host={IP_address | DNS_address} عنوان IP أو DNS للوكيل المطلوب استخدامه
--proxy_port=port_number رقم منفذ الخادم الوكيل الذي سيتم الاتصال به