code: def install_common_libs_for_target(self, target, install_dir):
      sn = self._device_id
      abi = self._target_abi
      lib_file = (
          "%s/sources/cxx-stl/llvm-libc++/libs/"
          "%s/libc++_shared.so" % (os.environ["ANDROID_NDK_HOME"], abi)
      )
      ndk_depends_path = os.environ["ANDROID_NDK_HOME"] + "/ndk-depends"
      if os.path.exists(ndk_depends_path):
          dep_so_libs = execute(ndk_depends_path + " " + target.path)
          for dep in dep_so_libs.split("\n"):
              if dep == "libgnustl_shared.so":
                  lib_file = (
                      "%s/sources/cxx-stl/gnu-libstdc++/4.9/libs/"
                      "%s/libgnustl_shared.so"
                      % (os.environ["ANDROID_NDK_HOME"], abi)
                  )
      else:
          print("Find no ndk-depends, use default libc++_shared.so")
  
      execute(
          "adb -s %s push %s %s" % (sn, lib_file, install_dir), False
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import copy
  import os
  import re
  import subprocess
  import random
  import tempfile
  from utils import util
label_desc: Use image node_id 4 for calling the AndroidDevice obj's underlying member method code with example usage: obj.install_common_libs_for_target(target, install_dir) without return types