def _MakeEmulatorEnv()

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}