code: private static Path getFileFromZip(Path path) {
      byte[] buffer = new byte[1024];
      try {
        Path outputDir = new TempDirectory("robolectric_assets").create("fromzip");
        try (InputStream zis = Fs.getInputStream(path)) {
          Path fileFromZip = outputDir.resolve(path.getFileName().toString());
  
          try (OutputStream fos = Files.newOutputStream(fileFromZip)) {
            int len;
            while ((len = zis.read(buffer)) > 0) {
              fos.write(buffer, 0, len);
            }
          }
          return fileFromZip;
        }
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
    }
docs: Extract an asset from a zipped up assets provided by the build system, this is required because
  there is no way to get a FileDescriptor from a zip entry. This is a temporary measure for Bazel
  which can be removed once binary resources are supported.