parameters: (self, apk)
docstring: Invoke 'adb install'.
docstring_summary: Invoke 'adb install'.
docstring_tokens: Invoke adb install .
function: def Install(self, apk):
      """Invoke 'adb install'."""
      ret, stdout, stderr, args = self._Exec(["install", "-r", apk])
  
      # adb install could fail with a message on stdout like this:
      #
      #   pkg: /data/local/tmp/Gmail_dev_sharded_incremental.apk
      #   Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
      #
      # and yet it will still have a return code of 0. At least for the install
      # command, it will print "Success" if it succeeded, so check for that in
      # standard out instead of relying on the return code.
      if "FAILED" in stdout or "FAILED" in stderr:
        raise AdbError(args, ret, stdout, stderr)
function_tokens: def Install ( self , apk ) : ret , stdout , stderr , args = self . _Exec ( [ "install" , "-r" , apk ] ) # adb install could fail with a message on stdout like this: # #   pkg: /data/local/tmp/Gmail_dev_sharded_incremental.apk #   Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES] # # and yet it will still have a return code of 0. At least for the install # command, it will print "Success" if it succeeded, so check for that in # standard out instead of relying on the return code. if "FAILED" in stdout or "FAILED" in stderr : raise AdbError ( args , ret , stdout , stderr )