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

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

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

توضّح الأمثلة التالية كيفية ضبط متغيرات البيئة في نافذة طرفية وفي نص برمجي shell لأنظمة التشغيل المختلفة. تستمر إعدادات المتغيرات في نوافذ المحطة الطرفية فقط ما دامت النافذة مفتوحة. في نظامَي التشغيل 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. راجِع مستندات shell الذي تستخدمه للتأكّد من ذلك.

يمكنك أيضًا تعديل متغير البيئة 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. وفي حال مواصلة استخدامه، سيتأكّد &quot;استوديو Android&quot; والمكوّن الإضافي لنظام Gradle المتوافق مع Android من اتساق المتغيرات القديمة والجديدة.
ANDROID_USER_HOME تضبط هذه السمة مسار دليل إعدادات المستخدم المفضّلة للأدوات التي تشكّل جزءًا من حزمة تطوير البرامج (SDK) لنظام التشغيل Android. القيمة التلقائية هي $HOME/.android/.

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

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

لا يمكن للأدوات القديمة، مثل &quot;استوديو Android&quot; 4.3 والإصدارات الأقدم، قراءة ANDROID_USER_HOME. بالنسبة إلى هذه الأدوات، تكون القيمة التلقائية هي $ANDROID_SDK_HOME/.android.

ANDROID_AVD_HOME تضبط هذه السمة مسار الدليل الذي يحتوي على جميع الملفات الخاصة بجهاز Android الافتراضي (AVD)، والتي تتألف في الغالب من صور قرص كبيرة جدًا. الموقع الجغرافي التلقائي هو $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 أحدث.
صوت Quick emulator (QEMU)
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV على نظام التشغيل Linux، يمكنك تغيير الخلفية التلقائية للصوت في المحاكي من خلال ضبط متغير البيئة QEMU_AUDIO_DRV على إحدى القيم التالية:
  • ‫alsa: استخدام برنامج Advanced Linux Sound Architecture (ALSA)
  • ‫esd: استخدام الواجهة الخلفية لبرنامج Enlightened Sound Daemon (EsounD)
  • ‫sdl: استخدام الواجهة الخلفية الصوتية Simple DirectMedia Layer (SDL) (لا تتوفّر إمكانية إدخال الصوت)
  • ‫oss:: استخدام نظام Open Sound System (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 على المحاكي emulator-5555.

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

يستخدم تعبير الفلتر البنية نفسها التي يستخدمها خيار -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.