in tools/android/emulator/emulated_device.py [0:0]
def _MakeEmulatorEnv(self, parent_env, with_audio):
"""Sets up (most) of the environment vars for the emulator.
General rule of thumbs-
#1 Do not overwrite the vars setup here later on.
#2 If the proper var value can be determined without modifying the
filesystem, do it here.
Args:
parent_env: typically os.environ
with_audio: workaround for b/64555657
Returns:
The basis of the emulator's environment vars.
"""
lib_paths = [self.android_platform.prepended_library_path]
gl_base = os.path.join(self.android_platform.base_emulator_path, 'lib64')
gles_mesa = os.path.join(gl_base, 'gles_mesa')
qt_lib = os.path.join(gl_base, 'qt/lib')
lib_paths.append(qt_lib)
lib_paths.append(self._SessionImagesDir())
# Make sure we always have GL library in search path.
# Either is mesa GL or host GL.
if not self._display or self._display.open_gl_driver != HOST_OPEN_GL:
lib_paths.append(gles_mesa)
else:
out = subprocess.check_output(['ldd', self.android_platform.emulator_x86])
for line in out.splitlines():
# line looks like:
# libGL.so.1 => /usr/lib/nvidia-367/libGL.so.1 (0x00007fbcd1c4b000)
match = re.search(r'libGL.so.1 => (.*libGL.so.1)', line)
if match:
lib_paths.append(os.path.dirname(match.group(1)))
# Include GL translator libraries.
lib_paths.append(gl_base)
lib_paths.extend([self.android_platform.emulator_support_lib_path,
parent_env.get('LD_LIBRARY_PATH')])
lib_paths = [l for l in lib_paths if l]
emu_path = self.android_platform.base_emulator_path
target_env = {
'LD_LIBRARY_PATH': ':'.join(lib_paths),
'LD_DEBUG': parent_env.get('LD_DEBUG'),
'KVM_DEVICE': self.android_platform.kvm_device,
'ANDROID_EMULATOR_KVM_DEVICE': self.android_platform.kvm_device,
'SDL_VIDEO_X11_WMCLASS': 'Google Android Emulator',
'QT_XKB_CONFIG_ROOT': self.android_platform.xkb_path,
'ANDROID_EMULATOR_LAUNCHER_DIR': emu_path,
'ANDROID_QT_QPA_PLATFORM_PLUGIN_PATH': os.path.join(
emu_path, 'lib64/qt/plugins'),
}
# disable emulator-XXXX from adb devices on .
if not FLAGS.skip_connect_device:
target_env['ANDROID_ADB_SERVER_PORT'] = '1'
elif self.adb_server_port:
# Set adb server port for adb servers that aren't on port 5037.
target_env['ANDROID_ADB_SERVER_PORT'] = str(self.adb_server_port)
return {k: str(v) for k, v in target_env.items() if v is not None}