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

يمكنك ضبط سلوك "استوديو 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. يتيح لك هذا الملف تخصيص خصائص بيئة التطوير المتكاملة في استوديو 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/ وبيانات 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.

أمّا الأدوات القديمة، مثل الإصدار 4.3 من "استوديو Android" والإصدارات الأقدم، فلا تقرأ 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.