Skip to content

App Store

StoreActivity / StoreCatalog — an on-device app store backed by a hosted JSON catalog.

The on-device App Store showing the Media & Entertainment category with install buttons

What it is

A hosted catalog (catalog.json, schema v2) rendered with app icons, search, and per-app detail pages (author, source, website, credit). It shows device-compatibility badges and an "Updates" section for installed apps.

  • F-Droid entries resolve the current APK at install time, so the catalog never goes stale.
  • Your own apps use a direct apkUrl.
  • A bundled copy of the catalog ships in the app as an offline fallback.

Installing apps

Installs go through Android's standard PackageInstaller. On the first-gen Portal, whose built-in installer dialog is broken, the provisioning kit's overlay fix makes that dialog usable (and the fix persists across reboots), so the store just works.

Two extra entry points catch APKs from elsewhere:

  • "Install with Immortal" (ApkInstallActivity) — catches any APK you open from Chrome or a file manager.
  • "Install an APK" (ApkBrowserActivity) — lists APKs already in your Downloads.

Other ways to install

For Play-Store apps (Aurora), F-Droid, and sideloading, see the Installing apps & app stores guide.

Self-update

Immortal updates itself the same way: UpdateManager polls version.json and installs a newer build over itself — no cable, no laptop. See Releasing.

Open to the community

The store is open to community submissions, and every catalog PR is CI-validated. Built a Portal app? See Submitting an app.