Biến môi trường

Bạn có thể thiết lập các biến môi trường cho Android Studio và các công cụ dòng lệnh có chức năng chỉ định những yếu tố như vị trí cài đặt SDK và nơi lưu trữ dữ liệu cụ thể cho người dùng. Trang này mô tả các biến môi trường thường hay dùng nhất.

Ví dụ sau đây cho biết cách sử dụng biến môi trường để chạy trình mô phỏng khi việc cài đặt SDK được đưa vào E:\Android\sdk\ thay vì vị trí mặc định là $USER_HOME hoặc $HOME.

$ set ANDROID_HOME=E:\Android\sdk\
$ emulator -avd Pixel_API_25

Tham chiếu biến

Bảng sau đây mô tả các biến môi trường thường dùng cho bộ công cụ SDK Android.

Bảng 1. Biến môi trường

Biến môi trường SDK Android
ANDROID_HOME Đặt đường dẫn tới thư mục cài đặt SDK. Sau khi đặt, giá trị thường không thay đổi và có thể được nhiều người dùng trên cùng một máy chia sẻ. ANDROID_SDK_ROOT, cũng trỏ đến thư mục cài đặt SDK, mà không dùng nữa. Nếu bạn tiếp tục sử dụng ứng dụng này, Android Studio và trình bổ trợ Android Gradle sẽ kiểm tra để đảm bảo các biến cũ và biến mới đều giống nhau.
ANDROID_USER_HOME Đặt đường dẫn đến thư mục tùy chọn người dùng cho các công cụ thuộc SDK Android. Giá trị mặc định là $HOME/.android/.

Một số công cụ cũ, chẳng hạn như Android Studio 4.3 trở xuống, không đọc ANDROID_USER_HOME. Để ghi đè vị trí tùy chọn người dùng cho các công cụ cũ hơn hãy đặt ANDROID_SDK_HOME thành thư mục mẹ mà bạn muốn tạo thư mục .android trong đó.

REPO_OS_OVERRIDE Hãy đặt biến này thành windows, macosx hoặc linux khi bạn sử dụng sdkmanager để tải xuống các gói cho một hệ điều hành khác với máy hiện tại.
Biến môi trường của cấu hình Android Studio
Biến cấu hình trong Android Studio chứa các cài đặt tùy chỉnh vị trí của các tệp cấu hình và JDK. Khi bạn khởi động, Android Studio sẽ kiểm tra các biến này để biết các tùy chọn cài đặt. Để biết thêm thông tin, hãy xem phần Định cấu hình Android Studio.
STUDIO_VM_OPTIONS Đặt vị trí của tệp studio.vmoptions. Tệp này chứa các tùy chọn cài đặt ảnh hưởng đến đặc điểm hiệu suất của Máy ảo Java HotSpot. Bạn cũng có thể truy cập vào tệp này trong Android Studio. Xem Tùy chỉnh máy ảo của bạn.
STUDIO_PROPERTIES Đặt vị trí của tệp idea.properties. Tệp này cho phép bạn tùy chỉnh các thuộc tính IDE của Android Studio, chẳng hạn như đường dẫn đến trình bổ trợ do người dùng cài đặt và kích thước tối đa của tệp mà IDE hỗ trợ. Xem Tùy chỉnh các thuộc tính IDE.
STUDIO_JDK Đặt vị trí của JDK mà bạn có thể dùng để chạy Android Studio. Khi bạn chạy IDE, hệ thống sẽ kiểm tra các biến môi trường STUDIO_JDK, JDK_HOMEJAVA_HOME theo thứ tự đó.
STUDIO_GRADLE_JDK Đặt vị trí của JDK mà Android Studio sử dụng để khởi động trình nền Gradle. Khi bạn chạy IDE, trước tiên máy chủ sẽ kiểm tra STUDIO_GRADLE_JDK. Nếu không xác định được STUDIO_GRADLE_JDK, thì IDE sẽ sử dụng giá trị được đặt trong hộp thoại Cấu trúc Dự án.
Biến Môi trường của Trình mô phỏng
Theo mặc định, trình mô phỏng lưu trữ các tệp cấu hình trong $HOME/.android/ và dữ liệu AVD trong $HOME/.android/avd/. Bạn có thể ghi đè các giá trị mặc định bằng cách thiết lập các biến môi trường sau đây. Lệnh emulator -avd <avd_name> tìm kiếm thư mục avd theo thứ tự của giá trị trong $ANDROID_AVD_HOME, $ANDROID_USER_HOME/avd/$HOME/.android/avd/.

Để được trợ giúp về biến môi trường của trình mô phỏng, hãy nhập emulator -help-environment vào dòng lệnh. Để biết thông tin về các tùy chọn dòng lệnh của emulator, hãy xem phần Kiểm soát Trình mô phỏng từ Dòng lệnh.

ANDROID_EMULATOR_HOME Đặt đường dẫn đến thư mục cấu hình trình mô phỏng cụ thể cho người dùng. Mặc định là $ANDROID_USER_HOME.

Các công cụ cũ (chẳng hạn như Android Studio 4.3 trở xuống) không đọc ANDROID_USER_HOME đối với các công cụ cũ, giá trị mặc định là $ANDROID_SDK_HOME/.android.

ANDROID_AVD_HOME Đặt đường dẫn tới thư mục chứa tất cả các tệp cụ thể cho AVD, chủ yếu chứa các hình ảnh đĩa rất lớn. Vị trí mặc định là $ANDROID_EMULATOR_HOME/avd/. Bạn nên chỉ định một vị trí mới nếu vị trí mặc định sử dụng gần hết dung lượng ổ đĩa.
Trình mô phỏng Android sẽ truy vấn các biến môi trường sau khi nó khởi động.
ANDROID_LOG_TAGS Xem ANDROID_LOG_TAGS.
HTTP_PROXY Chứa tùy chọn cài đặt proxy HTTPS/HTTP (tên máy chủ và cổng) cho proxy http chung. Dùng dấu phân cách hai chấm (:) giữa máy chủ và cổng. Ví dụ: set HTTP_PROXY=myserver:1981.
ANDROID_VERBOSE Xem ANDROID_VERBOSE.
ANDROID_HOME Xem ANDROID_HOME.
ANDROID_EMULATOR_USE_SYSTEM_LIBS Chứa giá trị là 0 (mặc định) hoặc 1. Giá trị 1 có nghĩa là bạn nên sử dụng tệp libstdc++.so của hệ thống thay vì tệp đi kèm với trình mô phỏng. Chỉ đặt biến môi trường này khi trình mô phỏng không khởi động trên hệ thống linux của bạn do sự cố thư viện hệ thống. Ví dụ: một số thư viện trình điều khiển Radeon GL của Linux yêu cầu tệp libstdc++.so mới hơn.
Âm thanh trình mô phỏng nhanh (QEMU)
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV Trên Linux, bạn có thể thay đổi phần phụ trợ âm thanh mặc định của trình mô phỏng bằng cách đặt biến môi trường QEMU_AUDIO_DRV thành một trong các giá trị sau:
  • alsa: Sử dụng phần phụ trợ Kiến trúc âm thanh Linux nâng cao (ALSA)
  • esd: Sử dụng phần phụ trợ Trình nền Âm thanh làm sáng (EsounD)
  • sdl: Sử dụng phần phụ trợ âm thanh Lớp DirectMedia Đơn giản (SDL) (không hỗ trợ đầu vào âm thanh)
  • oss:: Sử dụng phần phụ trợ Hệ thống Âm thanh Mở (OSS)
  • none:: Không hỗ trợ âm thanh

set QEMU_AUDIO_DRV=alsa

Bạn cũng có thể sử dụng các phần phụ trợ riêng biệt cho đầu vào âm thanh và đầu ra âm thanh bằng cách chọn một trong các giá trị QEMU cho biến môi trường QEMU_AUDIO_OUT_DRVQEMU_AUDIO_IN_DRV:


set QEMU_AUDIO_OUT=esd
set QEMU_AUDIO_IN=oss

Nếu bạn muốn tắt tính năng hỗ trợ âm thanh, hãy sử dụng tùy chọn emulator -no-audio hoặc đặt QEMU_AUDIO_DRV thành none. Có thể bạn cần tắt âm thanh trong những tình huống sau:

  • Trong một số ít trường hợp, trình điều khiển âm thanh có thể khiến Windows khởi động lại khi trình mô phỏng đang chạy.
  • Trên một số máy Linux, trình mô phỏng có thể bị đơ lúc khởi động với tính năng hỗ trợ âm thanh bật.
biến môi trường adb
ANDROID_SERIAL Hãy sử dụng biến này để cung cấp số sê-ri của trình mô phỏng, chẳng hạn như trình mô phỏng-5555, vào một lệnh adb. Nếu bạn thiết lập biến này nhưng sử dụng tùy chọn -s để chỉ định số sê-ri của dòng lệnh, thì giá trị nhập dòng lệnh sẽ ghi đè giá trị trong ANDROID_SERIAL.

Ví dụ sau đây đặt ANDROID_SERIAL và gọi adb install helloworld.apk, sau đó sẽ cài đặt gói ứng dụng Android trên trình mô phỏng-5555.


set ANDROID_SERIAL=emulator-555
adb install helloWorld.apk
biến môi trường logcat adb
ANDROID_LOG_TAGS Hãy sử dụng biến môi trường này để đặt biểu thức lọc mặc định khi bạn đang chạy logcat trên máy tính dành cho nhà phát triển. Ví dụ:

set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:.

Hãy xem bài viết Lọc dữ liệu xuất từ Nhật ký để biết thêm thông tin và ví dụ.

ADB_TRACE Chứa danh sách thông tin gỡ lỗi được phân tách bằng dấu phẩy để ghi nhật ký. Bạn có thể sử dụng các giá trị sau: all, adb, sockets ,packets, rwx, usb, sync, sysdeps ,transportjdwp ,

Để hiển thị nhật ký adb cho các ứng dụng khách adb và máy chủ adb, hãy đặt ADB_TRACE thành all, rồi gọi lệnh adb logcat như sau:


set ADB_TRACE=all
adb logcat
ANDROID_VERBOSE Chứa danh sách các tùy chọn đầu ra chi tiết được phân tách bằng dấu phẩy (thẻ gỡ lỗi) mà trình mô phỏng sử dụng. Ví dụ sau đây minh họa ANDROID_VERBOSE được xác định bằng các thẻ gỡ lỗi debug-socketdebug-radio:

set ANDROID_VERBOSE=socket,radio

Các thẻ gỡ lỗi không được hỗ trợ sẽ bị bỏ qua. Để biết thêm thông tin về thẻ gỡ lỗi, hãy sử dụng emulator -help-debug-tags.

Cách đặt biến môi trường

Các ví dụ sau đây minh họa cách thiết lập các biến môi trường trong cửa sổ dòng lệnh và trong tập lệnh shell cho các hệ điều hành khác nhau. Các tùy chọn cài đặt biến trong cửa sổ dòng lệnh có hiệu lực trong thời gian cửa sổ đó mở. Các tùy chọn cài đặt biến trong tập lệnh shell sẽ vẫn tồn tại trong các phiên đăng nhập.

Windows: Trong cửa sổ dòng lệnh, hãy nhập như sau:

set HTTP_PROXY=myserver:1981

Ngoài ra, bạn có thể thêm mã này vào tập lệnh shell thông qua giao diện người dùng Windows. Hãy xem tài liệu cho phiên bản Windows của bạn để tìm hiểu cách thực hiện.

Mac và Linux: Trong cửa sổ dòng lệnh, hãy nhập như sau:

export HTTP_PROXY=myserver:1981

Ngoài ra, hãy thêm tệp này vào tệp ~/.bash_profile của bạn và tìm nguồn tệp như sau:

export HTTP_PROXY=myserver:1981
$ source ~/.bash_profile