مدير sdk

إنّ sdkmanager هي أداة سطر أوامر تتيح لك عرض حِزم تطوير البرامج (SDK) لنظام التشغيل Android وتثبيتها وتحديثها وإلغاء تثبيتها. إذا كنت تستخدم 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. (اختياري) لتثبيت إصدار سابق من أدوات سطر الأوامر، شغِّل الأمر التالي:

    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;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 Studio مثبّتًا أو كان مخصصًا لخادم CI أو غيره من الأجهزة التي تعمل بنظام التشغيل 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 أو بروتوكول نقل الملفات، أو socks للخادم الوكيل SOCKS (V4 أو V5).
--proxy_host={IP_address | DNS_address} عنوان IP أو نظام أسماء النطاقات للخادم الوكيل المطلوب استخدامه.
--proxy_port=port_number رقم منفذ الوكيل المطلوب الاتصال به