static ZipFileRO open(final String zipFileName) {
    final Ref<ZipArchiveHandle> handle = new Ref<>(null);
    final int error = OpenArchive(zipFileName, handle);
    if (isTruthy(error)) {
      ALOGW("Error opening archive %s: %s", zipFileName, ErrorCodeString(error));
      CloseArchive();
      return null;
    }

    return new ZipFileRO(handle.get(), zipFileName);
  }
@Test
  public void open_emptyZip() throws Exception {
    // ensure ZipFileRO cam handle an empty zip file with no central directory
    File blob = File.createTempFile("prefix", "zip");
    try (ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(blob))) {}

    ZipFileRO zipFile = ZipFileRO.open(blob.toString());
    assertThat(zipFile).isNotNull();
  }