مدير sdk

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

إذا لم يكن "استوديو Android" مثبّتًا لديك، أو كان مخصّصًا لخادم CI أو جهاز آخر يعمل بنظام التشغيل Linux بلا واجهة مستخدم رسومية غير مثبّت على واجهة المستخدم الرسومية، يمكنك اتّباع الخطوات التالية من سطر الأوامر:

sdkmanager --licenses

يطالبك هذا الإجراء بقبول أي تراخيص لم يتم قبولها من قبل.

الخيارات

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

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