متغيرات البيئة

يمكنك ضبط سلوك "استوديو Android" وأدوات سطر الأوامر من خلال ضبط والمتغيرات البيئية. إن أحد متغيرات البيئة الأكثر فائدة التي يجب تعيينها هو ANDROID_HOME، حيث تُقرأ العديد من الأدوات يحدِّد دليل تثبيت حزمة تطوير البرامج (SDK) لنظام التشغيل Android. لتشغيل الأدوات من سطر الأوامر دون تضمين المسار الكامل للملف التنفيذي، ضبط الأمر متغير بيئة مسار البحث لتضمين ANDROID_HOME/tools وANDROID_HOME/tools/bin و ANDROID_HOME/platform-tools

كيفية ضبط متغيرات البيئة

توضِّح الأمثلة التالية طريقة ضبط متغيّرات البيئة في نافذة طرفية وفي نص برمجي صريح لأنظمة التشغيل المختلفة. آخر إعدادات المتغيّرات في نوافذ الوحدات الطرفية طالما أن النافذة مفتوحة. على نظامي التشغيل macOS وLinux، متغير في كل مرة يتم فيها بدء هيكل جديد تم ضبط الإعدادات في واجهة أوامر النصوص البرمجية للإعداد. في نظام التشغيل Windows، يمكن أن تكون الإعدادات المتغيرة الضبط من خلال إعدادات النظام.

نظام التشغيل Windows:في نافذة طرفية، اكتب ما يلي:

set HTTP_PROXY=myserver:1981

أو يمكنك إضافته من خلال واجهة مستخدم Windows. مراجعة وثائق إصدار Windows لمعرفة كيفية إجراء ذلك.

نظام التشغيل macOS وLinux: تعتمد الطريقة الدقيقة لإعداد متغيرات البيئة على الواجهة التي تستخدمها. لتحديد نوع واجهة الأوامر التي تعمل، اكتب ما يلي:

echo $0

في واجهة الأوامر مثل Gnu Bash أو Zsh، يتم ضبط المتغيّرات باستخدام ما يلي بناء الجملة:

export VARIABLE_NAME=<new-value>

في واجهات برمجة التطبيقات الأخرى، مثل TCSH، يتم ضبط المتغيّرات باستخدام بناء الجملة التالي:

setenv VARIABLE_NAME <new-value>

يمكن إضافة هذه الأوامر إلى البرنامج النصي لإعداد الغلاف لضبط المتغيرات في كل مرة يتم تشغيل مثيل هيكل جديد.

يعتمد مكان النص البرمجي لإعداد واجهة الأوامر على واجهة المستخدم المُستخدَمة. بالنسبة إلى Gnu Bash، يمكن أن يكون الموقع الجغرافي ~/.bash_profile. بالنسبة Zsh، يمكن أن يكون الموقع الجغرافي ~/.zprofile. بالنسبة إلى TCSH، يمكن تحديد الموقع ~/.cshrc التحقُّق من الإجابة وثائق واجهة الأوامر التي تستخدمها للتأكد.

يمكنك أيضًا تعديل متغيّر البيئة PATH لتضمين المواقع الجغرافية للأدوات.

بالنسبة إلى Gnu Bash أو Zsh:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
  

وبالنسبة إلى TCSH:

setenv ANDROID_HOME ~/Library/Android/sdk
setenv PATH $PATH\:$ANDROID_HOME/tools\:$ANDROID_HOME/tools/bin\:$ANDROID_HOME/platform-tools
  

مرجع المتغيّرات

يوضِّح الجدول التالي متغيّرات البيئة الشائعة الاستخدام لأدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android.

الجدول 1. متغيرات البيئة

متغيّرات بيئة حزمة تطوير البرامج (SDK) لنظام التشغيل Android
ANDROID_HOME تضبط المسار على دليل تثبيت حزمة تطوير البرامج (SDK). بمجرد تعيينها، فلن تتغير القيمة عادةً ويمكن مشاركتها من قبل عدة مستخدمين على نفس الجهاز. ANDROID_SDK_ROOT، الذي يشير أيضًا إلى دليل تثبيت حزمة تطوير البرامج (SDK)، نهائيًا. في حال مواصلة استخدام هذا التطبيق، سيواصل "استوديو Android" والمكوّن الإضافي لنظام Gradle المتوافق مع Android التحقق من أن المتغيرات القديمة والجديدة متسقة.
ANDROID_USER_HOME تضبط المسار إلى دليل إعدادات المستخدم المفضَّلة للأدوات التي تشكِّل جزءًا من حزمة تطوير البرامج (SDK) لنظام التشغيل Android. وتكون القيمة التلقائية هي $HOME/.android/.

لا تتيح بعض الأدوات القديمة، مثل Android Studio 4.3 والإصدارات الأقدم ANDROID_USER_HOME لتجاوز موقع تفضيلات المستخدم لتلك الأدوات القديمة، اضبط ANDROID_SDK_HOME إلى الدليل الرئيسي الذي تريد الدليل .android المراد إنشاؤه ضمنه.

REPO_OS_OVERRIDE ��ضبط هذا المتغيّر على windows أو macosx أو linux في حال: أنت تستخدم sdkmanager لتنزيل حزم لنظام تشغيل مختلف عن الجهاز الحالي.
متغيّرات بيئة إعداد "استوديو Android"
تحتوي متغيرات تهيئة "استوديو Android" على إعدادات تُخصِّص موقع و JDK. عند بدء التشغيل، يتحقّق "استوديو Android" من هذه المتغيّرات للإعدادات. لمزيد من المعلومات، يُرجى مراجعة ضبط إعدادات "استوديو Android"
STUDIO_VM_OPTIONS لضبط موقع الملف studio.vmoptions. يحتوي هذا الملف على إعدادات تؤثر في خصائص أداء Java HotSpot الجهاز الافتراضي. يمكن أيضًا الوصول إلى هذا الملف من داخل "استوديو Android". عرض تخصيص خيارات الجهاز الافتراضي
STUDIO_PROPERTIES لضبط موقع "idea.properties" الجغرافي الملف. يتيح لك هذا الملف تخصيص خصائص بيئة IDE لـ "استوديو Android"، مثل المسار إلى المستخدم الذي ثبّت المكونات الإضافية والحد الأقصى لحجم الملف المدعوم في بيئة التطوير المتكاملة. عرض تخصيص مواقع بيئة التطوير المتكاملة (IDE)
STUDIO_JDK لضبط موقع JDK الذي يعمل فيه "استوديو Android". عند إطلاق بيئة التطوير المتكاملة يتحقّق من STUDIO_JDK وJDK_HOME وJAVA_HOME. المتغيرات البيئية، بهذا الترتيب.
STUDIO_GRADLE_JDK تضبط هذه السياسة موقع JDK الذي يستخدمه "استوديو Android" لبدء برنامج Gradle الخفي. عندما تريد وإطلاق بيئة التطوير المتكاملة، يتم أولاً التحقّق من STUDIO_GRADLE_JDK. في حال حذف لم يتم تحديد STUDIO_GRADLE_JDK، يستخدم IDE القيمة المحددة في إعدادات بنية المشروع.
متغيّرات بيئة المحاكي
يخزن المحاكي بشكل افتراضي ملفات التهيئة ضمن بيانات $HOME/.android/ ومتوسّط مدة المشاهدة أقل من $HOME/.android/avd/ يمكنك إلغاء الإعدادات التلقائية من خلال ضبط متغيّرات البيئة التالية. يبحث الأمر emulator -avd <avd_name> في avd بترتيب القيم في $ANDROID_AVD_HOME، $ANDROID_USER_HOME/avd/، و$HOME/.android/avd/.

للحصول على مساعدة متغير بيئة المحاكي، اكتب emulator -help-environment في سطر الأوامر. للحصول على معلومات عن emulator خيار سطر الأوامر، يمكنك الاطّلاع على ابدأ تشغيل المحاكي من سطر الأوامر.

ANDROID_EMULATOR_HOME لضبط المسار على إعدادات المحاكي الخاصة بالمستخدم الدليل. وتكون القيمة التلقائية هي $ANDROID_USER_HOME.

لا تتم قراءة الأدوات القديمة، مثل Android Studio 4.3 والإصدارات الأقدم، ANDROID_USER_HOME بالنسبة لهذه الأدوات، القيمة الافتراضية هي $ANDROID_SDK_HOME/.android

ANDROID_AVD_HOME لضبط المسار إلى الدليل الذي يحتوي على كل متوسّط مدة المشاهدة الخاصة ، والتي تتكون في الغالب من صور كبيرة جدًا على القرص. الموقع الافتراضي هو $ANDROID_EMULATOR_HOME/avd/ قد ترغب في تحديد موقع جديد إذا الموقع الافتراضي منخفض على مساحة القرص.
يطلب محاكي Android متغيرات البيئة التالية عند بدء تشغيله:
ANDROID_LOG_TAGS يمكنك الاطّلاع على ANDROID_LOG_TAGS.
HTTP_PROXY

يحتوي على الخادم الوكيل HTTP/HTTPS لخادم وكيل HTTP عمومي. تستخدم هذه الدالة فاصل النقطتَين (:) بين المضيف والمنفذ. بالنسبة على سبيل المثال، set HTTP_PROXY=myserver:1981.

يشبه ذلك تحديد -http-proxy proxy عند تشغيل المحاكي من سطر الأوامر.

ANDROID_VERBOSE يمكنك الاطّلاع على ANDROID_VERBOSE.
ANDROID_HOME يمكنك الاطّلاع على ANDROID_HOME.
ANDROID_EMULATOR_USE_SYSTEM_LIBS يحتوي على القيمة 0 (تلقائي) أو 1. تعني القيمة 1 واجهة برمجة التطبيقات ويتم استخدام ملف libstdc++.so بدلاً من الملف المرفق مع المحاكي. يمكنك ضبط متغيّر البيئة هذا فقط عند عدم تشغيل المحاكي على نظام التشغيل Linux. بسبب مشكلة في مكتبة النظام. على سبيل المثال، تتضمن بعض مكتبات برامج تشغيل Linux Radeon GL يجب استخدام ملف libstdc++.so أحدث.
صوت المحاكي السريع (QEMU)
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV على نظام التشغيل Linux، يمكنك تغيير الصوت التلقائي الخلفية للمحاكي من خلال ضبط متغيّر بيئة QEMU_AUDIO_DRV على إحدى القيم التالية:
  • alsa: استخدام الواجهة الخلفية لبنية الصوت المتقدمة في Linux (ALSA)
  • esd: استخدام الخلفية في برنامج Enlightened Sound Daemon (EsounD)
  • sdl: استخدام الخلفية الصوتية لطبقة الوسائط المباشرة البسيطة (SDL) (بدون إدخال صوت مدعوم)
  • oss:: استخدام الخلفية لنظام الصوت المفتوح (OSS)
  • none:: لا تعمل الميزة الصوتية.
set QEMU_AUDIO_DRV=alsa

يمكنك أيضًا استخدام خلفيات مميزة لإدخال الصوت وإخراج الصوت من خلال تحديد إحدى قيم QEMU للسمة QEMU_AUDIO_OUT_DRV وQEMU_AUDIO_IN_DRV المتغيرات البيئية:

set QEMU_AUDIO_OUT=esd
set QEMU_AUDIO_IN=oss

إذا أردت إيقاف الدعم الصوتي، استخدِم الخيار emulator -no-audio أو ضبط QEMU_AUDIO_DRV على none وقد تحتاج إلى إيقاف الصوت في الحالات التالية:

  • في حالات نادرة، قد تتسبب برامج تشغيل الصوت في إعادة تشغيل Windows أثناء تشغيل المحاكي.
  • في بعض الأجهزة التي تعمل بنظام التشغيل Linux، قد يتعطل المحاكي عند بدء ا��تشغيل مع تمكين دعم الصوت.
متغيّرات بيئة adb
ANDROID_SERIAL استخدم هذا المتغير لتقديم رقم تسلسلي للمحاكي، مثل كمحاكي 5555، إلى أمر adb. إذا ضبطت هذا المتغيّر ولكن استخدِم -s لتحديد رقم تسلسلي من سطر الأوامر، يؤدي سطر الأوامر إلى إلغاء القيمة في ANDROID_SERIAL.

يحدّد المثال التالي السمة ANDROID_SERIAL والمكالمات adb install helloworld.apk، الذي يثبِّت بعد ذلك تطبيق Android على المحاكي 5555.

set ANDROID_SERIAL=emulator-555
adb install helloWorld.apk
متغيّرات بيئة adb Logcat
ANDROID_LOG_TAGS استخدام متغيّر البيئة هذا لضبط فلتر تلقائي تعبير عند تشغيل logcat من كمبيوتر التطوير. مثلاً:
set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:.

يشبه ذلك تحديد -logcat tags عند تشغيل المحاكي من سطر الأوامر.

راجِع إخراج سجلّ الفلتر لمزيد من المعلومات والأمثلة.

ADB_TRACE يحتوي على قائمة مفصولة بفواصل لم��لومات تصحيح الأخطاء المطلوب تسجيلها. ويمكن أن تكون القيم كما يلي: all وadb وsockets و packets، rwx، usb، sync، sysdeps، transport وjdwp.

لعرض سجلّات adb لعملاء adb وخادم adb، اضبط ADB_TRACE إلى all ثم استدعِ الأمر adb logcat، كما يلي:

set ADB_TRACE=all
adb logcat
ANDROID_VERBOSE يحتوي على قائمة مفصولة بفواصل من خيارات النتائج المطوَّلة. (علامات تصحيح الأخطاء) التي يستخدمها المحاكي. يُظهر المثال التالي ANDROID_VERBOSE. محدّد باستخدام علامتَي تصحيح الأخطاء debug-socket وdebug-radio:
set ANDROID_VERBOSE=socket,radio

ويشبه هذا الأمر تحديد -verbose -verbose-socket -verbose-radio الوسيطة معًا عند تشغيل المحاكي من سطر الأوامر.

ويتم تجاهل علامات تصحيح الأخطاء غير المتوافقة. لمزيد من المعلومات، معلومات حول علامات تصحيح الأخطاء، استخدِم emulator -help-debug-tags.