(old_file, new_file, temp_path)
return filebyfile_patch_path
File-by-file diffing.

  Args:
    old_file: the old APK file
    new_file: the new APK file
    save_patch_path: the path including filename to save the generated patch.
    temp_path: the directory to use for the process

  Returns:
    the size the File-by-File patch gzipped

  Raises:
    Exception: if there is a problem calling the binaries needed in the process
File-by-file diffing.
File - by - file diffing .
def filebyfile(old_file, new_file, temp_path):
  """File-by-file diffing.

  Args:
    old_file: the old APK file
    new_file: the new APK file
    save_patch_path: the path including filename to save the generated patch.
    temp_path: the directory to use for the process

  Returns:
    the size the File-by-File patch gzipped

  Raises:
    Exception: if there is a problem calling the binaries needed in the process
  """

  filebyfile_patch_path = os.path.join(temp_path, '.filebyfile')
  cleanup(filebyfile_patch_path)

  # file by file patch
  # We use a jar from https://github.com/andrewhayden/archive-patcher
  run_command(
      [java_path, '-jar', dir_path + '/lib/file-by-file-tools.jar',
       '--generate',
       '--old', old_file, '--new', new_file, '--patch', filebyfile_patch_path])
  return filebyfile_patch_path
def filebyfile ( old_file , new_file , temp_path ) : filebyfile_patch_path = os . path . join ( temp_path , '.filebyfile' ) cleanup ( filebyfile_patch_path ) # file by file patch # We use a jar from https://github.com/andrewhayden/archive-patcher run_command ( [ java_path , '-jar' , dir_path + '/lib/file-by-file-tools.jar' , '--generate' , '--old' , old_file , '--new' , new_file , '--patch' , filebyfile_patch_path ] ) return filebyfile_patch_path