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

يمكنك ضبط سلوك "استوديو 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>

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

يعتمد موقع النص البرمجي لإعداد واجهة الأوامر على واجهة الأوامر المستخدَمة. بالنسبة إلى غنو باش، يمكن أن يكون الموقع الجغرافي ~/.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
  

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

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

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

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

لا تقرأ بعض الأدوات القديمة، مثل "استوديو Android 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). يُرجى الاطّلاع على تخصيص مواقع IDE.
STUDIO_JDK لتحديد موقع JDK الذي يتم تشغيل Android Studio فيه. عند تشغيل بيئة التطوير المتكاملة، تتحقّق من متغيرات البيئة STUDIO_JDK وJDK_HOME وJAVA_HOME بهذا الترتيب.
STUDIO_GRADLE_JDK تحدِّد هذه السياسة موقع JDK الذي يستخدمه "استوديو Android" لتشغيل برنامج Gradle الخفي. عند تشغيل بيئة التطوير المتكاملة (IDE)، يتم التحقق أولاً من STUDIO_GRADLE_JDK. إذا لم يتم تحديد STUDIO_GRADLE_JDK، يستخدم بيئة التطوير المتكاملة القيمة المحدّدة في إعدادات بنية المشروع.
متغيرات بيئة المحاكي
يخزِّن المحاكي ملفات الإعداد تلقائيًا ضمن بيانات $HOME/.android/ وAVD ضمن $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 استخدِم هذا المتغيّر لتقديم رقم تسلسلي للمحاكي، مثل emulator-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.