mrkeyoor.com_
Wed 30 Sept 21:01 UTC
Dev Toolsevaluationupdated 30 Sept 2026

gander review

Gander is an Android app that opens office documents, PDFs, media, text, archives, and STL models entirely on the phone. It solves the annoying need for several viewers while refusing internet access, ads, analytics, accounts, and broad storage permission.

Verdict

Our Gander run finished installation in 23 seconds, then the build and test commands stopped in the Gradle wrapper's fetch path after 13 and 14 seconds. That failure leaves the source build unverified on our box, but it does not erase the app's unusually clear privacy boundary: Android grants only the file you chose, and Gander declares no internet permission. Use the signed release for private, read-only viewing on a current Android phone; choose a dedicated editor or reader when fidelity and document changes matter more than breadth.

We ran it

Lab card: what happened when we ran gander
Install✓ · 23s
Build✗ · 13s
Tests✗ · 14sran, no count parsed
Repo648 files~64,460 lines of source · 43.8 MB · 2 CI workflows · tests dir

Answers from our run

Does gander build from source?

Dependencies installed in 23 seconds, and the build failed. We cloned commit 6297a93 into a clean Debian container with 3 CPUs and no project-specific setup.

Do gander's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use gander?

Anyone who needs to edit, annotate, sync, or collaborate on documents: Gander is a local viewer with no accounts or network access.

What are the alternatives to gander?

GrapheneOS PDF Viewer, Librera Reader, Fossify File Manager. Our Gander run finished installation in 23 seconds, then the build and test commands stopped in the Gradle wrapper's fetch path after 13 and 14 seconds.

Setup2/5APK setup is simple, but our source build and tests both failed
Docs5/5Formats, limits, privacy design, signing, and build steps are explicit
Community4/5September 30 push, 1,111 stars, and same-day issue responses
Maturity3/5Version 2.0 is broad, but the project is young and source checks failed

Who it’s for

Android users who receive mixed file types through mail, chat, browsers, and file managers.
Privacy-conscious readers who want documents rendered without an account or network permission.
People who need one small viewer for PDFs, modern Office files, media, Markdown, code, ZIP archives, and STL models.
Developers who want an MIT-licensed example of Storage Access Framework grants and sandboxed WebView rendering.

Who it’s NOT for

Anyone who needs to edit, annotate, sync, or collaborate on documents: Gander is a local viewer with no accounts or network access.
People who still exchange legacy .ppt files: the README says that format is unsupported and recommends saving as .pptx.
Phones below Android 8.0 or devices stuck on old System WebView builds: PDF viewing requires WebView 125 or newer.
Teams requiring a clean source build in a fresh JVM container: our build and test commands both stopped while the Gradle wrapper was fetching over HTTPS.
CSV users who cannot tolerate encoding mistakes: open issue 37 shows a UTF-8 file rendered with the wrong characters on Android 11 Go with WebView 138.
iPhone users today: the README only says the author would like an iOS companion on the roadmap.

Setup reality

Our sandbox completed the install step in 23 seconds. The build then failed with exit 1 after 13 seconds, and the test command failed with exit 1 after 14 seconds. Both supplied log tails end inside the Gradle wrapper's HTTPS fetch path at org.gradle.wrapper.Install.forceFetch; they do not include the underlying error message.

Building from source requires JDK 21 or newer and Android SDK platform 36. Release signing also needs a local keystore and passwords outside the repository. Installing the published APK needs no service credentials, account, or server, and the app runs on Android 8.0 or newer.

PDFs require Android System WebView 125 or newer, Markdown needs 92, and Word needs 80. The 43.8 MB checkout contained 648 files and about 64,460 source lines. It has 2 CI workflows and a tests directory, but no Dockerfile, which fits a native Android application.

Gander opens office files, media, archives, and STL models

Gander is the app you send a mystery attachment to when you only want to look at it. It routes PDFs, Word documents, spreadsheets, slides, photos, video, audio, Markdown, code, ZIP files, and STL models to separate viewers inside one Android package. It also accepts files through the share sheet and the system's Open with flow, so it can sit behind mail, chat, a browser, or a file manager without becoming your file manager.

The published APK is about 5 MB because it ships no native libraries. Modern Office documents render through bundled JavaScript, media goes through Android's Media3 player, large photos use tiled decoding, and ZIP entries open directly from the archive. Text files load 5 MB at a time. This is broad viewing, not editing. You cannot correct a spreadsheet, annotate a PDF, or save a revised Word file back to storage.

Android's file picker enforces the privacy promise

Gander does not request Android's INTERNET permission or general storage permission. The Storage Access Framework hands it the individual file or folder a user selects. Office formats and PDFs render in a WebView whose requests are intercepted by WebViewAssetLoader, with viewer code bundled inside the app. That is a concrete privacy boundary: a document is never meant to leave the device because the application has no network permission to send it.

Version 2.0 added a second wall around document code. Viewer pages now use a Content Security Policy that permits only Gander's own code, and requests for resources the app does not serve are refused. The release notes say an embedded page script could run before this change, although the missing internet permission prevented it from sending data away. Macro-enabled Office files can be viewed, but their macros never run.

What happened when we ran it

Our unprivileged JVM 21 sandbox completed Gander's install step in 23 seconds. The checkout at commit 6297a93 held 648 files, about 64,460 lines of source, and occupied 43.8 MB. That initial step succeeded. The repository also has 2 CI workflow files and a tests directory, while the absence of a Dockerfile is normal for an Android app intended to become an APK.

The build failed with exit 1 after 13 seconds. The test command failed with exit 1 after 14 seconds. Both log tails show Java's HTTPS connection classes followed by org.gradle.wrapper.Install.forceFetch. The supplied tail does not contain the root exception or name the remote artifact, so the supported finding is narrow: neither Gradle command got past the wrapper fetch in our sandbox. We cannot call this an Android compile error or a failing application test.

Those two failures also mean our run did not produce an APK, execute the project tests, or inspect real document rendering. The repository's current code may build in GitHub Actions or on a configured Android workstation, but that is separate evidence. A maintainer evaluating reproducibility should preserve the complete wrapper error, identify the requested distribution, and rerun with the same commit before changing project code.

Android 8 works, but PDFs need WebView 125

The installed app supports Android 8.0, API 26, and newer. Its WebView floor varies by format: PDFs need version 125, Markdown needs 92, and Word needs 80. Gander checks this when a file opens and reports an old WebView rather than presenting an unexplained render error. That is helpful for older phones, though a device that no longer receives WebView updates may meet the Android version requirement and still fail on PDFs.

Source builders need JDK 21 or newer plus Android SDK platform 36. The Gradle tasks create a debug APK or an unsigned release APK. Signing requires a local keystore, and an independently signed build cannot update the author's release because Android treats the signing identity as different. The README publishes the official certificate fingerprint and the v2.0 release publishes an APK hash, giving sideloaders two concrete values to verify.

Legacy PowerPoint and exact Office fidelity remain limits

Gander explicitly does not support binary .ppt; it asks users to resave those files as .pptx. Its own readers handle old .doc, .odt, and .rtf files, including tables and images, but Word 6 and Word 95 documents lose formatting. Windows metafile images become a box saying they cannot be drawn. Those are reasonable size and licensing choices, yet they matter in archives full of old corporate files.

Open issue 37 adds a current format warning. A reporter using version 2.0.21 on Android 11 Go with WebView 138 attached a UTF-8 CSV that displayed with incorrect characters. Issue 39 records another smaller usability problem: a long press removes a recent-file entry immediately, with no undo. Neither issue deletes the underlying file, but the CSV report is enough reason to test accented names and non-English data before relying on Gander for spreadsheet review.

Seven open issues sit beside a September 30 push

Gander was created on July 19, 2026, and release v2.0 followed on September 26. GitHub showed 1,111 stars, 7 open issues, 0 open pull requests, and a push on September 30. Several issues received same-day updates, so the small queue is active. One older F-Droid request remains open, while Google Play, GitHub releases, and Obtainium are the documented installation routes today.

Pick Gander when the files are mixed, the job is read-only, and you do not want a document uploaded merely to see what it contains. Its missing network permission is easier to reason about than a privacy toggle buried in settings. Keep a real office editor for files you must change, and keep a specialist reader for ebooks. For this app, restraint is the feature: it opens the file you chose, then has nowhere to send it.

Alternatives

ProjectWhat it isPick it when
GrapheneOS PDF ViewerA permission-free Android PDF viewer that feeds files into a sandboxed pdf.js WebView.pick this instead when PDFs are the only format you need and a narrower security-focused app is preferable.
Librera ReaderAn Android reader built around books and long-form documents in many formats.pick this instead when library organization and ebook reading matter more than media, ZIP, and STL support.
Fossify File ManagerA privacy-minded Android file manager for browsing and organizing local storage.pick this instead when moving, renaming, and managing files matters more than rendering many document formats.

What people are saying

  1. [github-trending] mokshablr/gander

Sources

  1. Gander repository
  2. Gander README and format support
  3. Gander 2.0 release notes
  4. Open CSV encoding issue 37
  5. Open recent-file removal issue 39

More dev tools reviews

lipgloss · roundhouse · GhostTrack · Codex-Dream-Skin · TokenTracker · firebase-ios-sdk · the whole board →