ตัวแปรสภาพแวดล้อม

คุณสามารถกำหนดค่าลักษณะการทำงานของ Android Studio และเครื่องมือบรรทัดคำสั่งได้โดยการตั้งค่า ตัวแปรสภาพแวดล้อม ตัวแปรสภาพแวดล้อมที่มีประโยชน์ที่สุดอย่างหนึ่งที่ควรตั้งค่าคือ ANDROID_HOME ซึ่งเครื่องมือมากมายสามารถอ่านได้ ระบุไดเรกทอรีการติดตั้ง Android SDK หากต้องการเรียกใช้เครื่องมือจากบรรทัดคำสั่งโดยไม่รวมเส้นทางแบบเต็มไปยังไฟล์ปฏิบัติการ ตั้งคำสั่งของคุณ ตัวแปรสภาพแวดล้อมเส้นทางการค้นหาที่จะรวม ANDROID_HOME/tools, ANDROID_HOME/tools/bin และ ANDROID_HOME/platform-tools

วิธีตั้งค่าตัวแปรสภาพแวดล้อม

ตัวอย่างต่อไปนี้จะแสดงวิธีตั้งค่าตัวแปรสภาพแวดล้อมในหน้าต่างเทอร์มินัลและ สคริปต์ Shell สำหรับระบบปฏิบัติการต่างๆ การตั้งค่าตัวแปรในหน้าต่างเทอร์มินัลจะเป็นครั้งสุดท้าย ตราบใดที่หน้าต่างเปิดอยู่ ใน macOS และ Linux แต่ละ Shell ใหม่จะเริ่มทำงานแต่ละครั้ง ตั้งค่าแล้ว ในเปลือกหอย สคริปต์การเริ่มต้น ใน Windows คุณสามารถกำหนดการตั้งค่าตัวแปรได้ ผ่านการตั้งค่าระบบ

Windows: ในหน้าต่าง Terminal ให้พิมพ์ข้อมูลต่อไปนี้

set HTTP_PROXY=myserver:1981

อีกวิธีหนึ่งคือให้เพิ่มผ่าน UI ของ Windows ดูเอกสารประกอบสำหรับ Windows เวอร์ชันที่คุณใช้ เพื่อเรียนรู้วิธีการ

macOS และ Linux: วิธีการตั้งค่าตัวแปรสภาพแวดล้อมที่แม่นยำขึ้นอยู่กับ คุณกำลังใช้เชลล์ใด หากต้องการทราบว่าเรียกใช้ Shell ประเภทใดอยู่ ให้พิมพ์ดังนี้:

echo $0

ในเชลล์ เช่น Gnu Bash หรือ Zsh ระบบจะตั้งค่าตัวแปรโดยใช้คำสั่งต่อไปนี้ ไวยากรณ์:

export VARIABLE_NAME=<new-value>

ในเวอร์ชันอื่นๆ เช่น TCSH จะตั้งค่าตัวแปรโดยใช้ ไวยากรณ์ต่อไปนี้:

setenv VARIABLE_NAME <new-value>

คุณสามารถเพิ่มคำสั่งเหล่านี้ลงในสคริปต์การเริ่มต้น Shell เพื่อตั้งค่าตัวแปรได้ในแต่ละครั้ง มีการเรียกใช้อินสแตนซ์ Shell ใหม่

ตำแหน่งของสคริปต์การเริ่มต้น Shell จะขึ้นอยู่กับเชลล์ที่ใช้งาน สำหรับ 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
  

ข้อมูลอ้างอิงตัวแปร

ตารางต่อไปนี้อธิบายตัวแปรสภาพแวดล้อมที่ใช้กันโดยทั่วไปสำหรับเครื่องมือ Android SDK

ตาราง 1 ตัวแปรของสภาพแวดล้อม

ตัวแปรสภาพแวดล้อม Android SDK
ANDROID_HOME กำหนดเส้นทางไปยังไดเรกทอรีการติดตั้ง SDK เมื่อตั้งค่าแล้ว โดยทั่วไปค่าจะไม่เปลี่ยนแปลงและผู้ใช้หลายคนแชร์ในเครื่องเดียวกันได้ ANDROID_SDK_ROOT ซึ่งชี้ไปยังไดเรกทอรีการติดตั้ง SDK ด้วย เลิกใช้งานแล้ว หากคุณยังคงใช้งาน Android Studio และปลั๊กอิน Android Gradle ให้ตรวจสอบว่าตัวแปรเก่าและใหม่สอดคล้องกัน
ANDROID_USER_HOME กำหนดเส้นทางไปยังไดเรกทอรีค่ากำหนดของผู้ใช้สำหรับเครื่องมือที่เป็นส่วนหนึ่งของ Android SDK ค่าเริ่มต้นคือ $HOME/.android/

เครื่องมือรุ่นเก่าบางอย่าง เช่น Android Studio 4.3 และเวอร์ชันก่อนหน้าจะไม่อ่าน ANDROID_USER_HOME. หากต้องการลบล้างตำแหน่งค่ากำหนดของผู้ใช้สำหรับเครื่องมือรุ่นเก่าเหล่านี้ ให้ตั้งค่า ANDROID_SDK_HOME ไปยังไดเรกทอรีระดับบนที่คุณต้องการกำหนด ไดเรกทอรี .android ที่จะสร้าง

REPO_OS_OVERRIDE ตั้งค่าตัวแปรนี้เป็น windows, macosx หรือ linux เมื่อ คุณใช้ sdkmanager เพื่อดาวน์โหลดแพ็กเกจสำหรับระบบปฏิบัติการที่ต่างจากเครื่องปัจจุบัน
ตัวแปรสภาพแวดล้อมการกำหนดค่าใน Android Studio
ตัวแปรการกำหนดค่าของ Android Studio มีการตั้งค่าที่ปรับแต่งตำแหน่งของ และ JDK เมื่อเริ่มต้นใช้งาน Android Studio จะตรวจสอบตัวแปรเหล่านี้ สำหรับการตั้งค่า สำหรับข้อมูลเพิ่มเติม โปรดดู กำหนดค่า Android Studio
STUDIO_VM_OPTIONS ตั้งค่าตำแหน่งของไฟล์ studio.vmoptions ไฟล์นี้มีการตั้งค่าที่มีผลต่อลักษณะประสิทธิภาพของ Java HotSpot เครื่องเสมือน นอกจากนี้ยังเข้าถึงไฟล์นี้จากภายใน Android Studio ได้ด้วย โปรดดู ปรับแต่งตัวเลือก VM
STUDIO_PROPERTIES ตั้งค่าตำแหน่งของ idea.properties ไฟล์นี้ช่วยให้คุณปรับแต่งพร็อพเพอร์ตี้ IDE ของ Android Studio ได้ เช่น เส้นทางไปยัง ผู้ใช้ติดตั้งปลั๊กอิน และขนาดไฟล์สูงสุดที่ IDE รองรับ โปรดดู ปรับแต่งพร็อพเพอร์ตี้ IDE
STUDIO_JDK ตั้งค่าตำแหน่งของ JDK ที่ Android Studio ทำงานอยู่ เมื่อเปิด IDE อุปกรณ์ตรวจสอบSTUDIO_JDK JDK_HOME และJAVA_HOME ตัวแปรสภาพแวดล้อมตามลำดับ
STUDIO_GRADLE_JDK ตั้งค่าตำแหน่งของ JDK ที่ Android Studio ใช้เพื่อเริ่มต้นดีมอนของ Gradle เมื่อคุณ เปิด IDE ระบบจะตรวจสอบ 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

เครื่องมือรุ่นเก่า เช่น Android Studio 4.3 และรุ่นก่อนหน้าจะไม่อ่าน ANDROID_USER_HOME. ค่าเริ่มต้นสำหรับเครื่องมือดังกล่าวคือ $ANDROID_SDK_HOME/.android.

ANDROID_AVD_HOME ตั้งค่าเส้นทางไปยังไดเรกทอรีที่มี AVD-specific ทั้งหมด ซึ่งส่วนใหญ่ประกอบด้วยอิมเมจดิสก์ที่มีขนาดใหญ่มาก ตำแหน่งเริ่มต้นคือ $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 เนื่องจากปัญหาจากไลบรารีของระบบ เช่น ไลบรารีไดรเวอร์ Radeon GL บางรายการของ Linux ต้องการไฟล์ libstdc++.so ที่ใหม่กว่า
เสียงโปรแกรมจำลองด่วน (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:: ใช้แบ็กเอนด์ของระบบเสียงแบบเปิด (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