Tip
This tool is actively maintained as a private scientific utility. Feature requests and bug reports are welcome via GitHub Issues and will be reviewed within 1β3 weeks.
Suitefish is a lightweight, free and open-source app store client for Android. It connects to a Suitefish catalog server over HTTPS, lists the apps published there, and lets you download and install them directly on your device β outside of the official app stores.
By default the app talks to the official suitefish.com catalog, but you can point it at your own custom server instead, making it a simple way to distribute and self-host Android apps. The app ships with no ads and adds no tracking of its own.
Warning
Suitefish installs software from an online source outside of official app stores. Only connect to servers you fully trust. A wrong, malicious or misconfigured server can expose you to malware or data leaks β you use the app and any custom server entirely at your own risk.
This repository holds the full source code, build assets and release artifacts for the Android app.
- Store tab β browse the remote catalog, search by name and filter by category.
- Installed tab β see which catalog apps are installed and which have updates available.
- Download & install β fetch APKs from the catalog server and install them via Android's package installer, with guided help for the "unknown sources" permission.
- Update checks β compare installed versions against the catalog and update with one tap.
- Custom servers β use the default
suitefish.comcatalog or connect to your own; HTTPS is required and enforced (with an optional, explicitly-confirmed toggle for self-signed certificates on servers you control). - Privacy-friendly β offline-first local catalog, no ads, no in-app tracking; risk and privacy notices shown on start.
- Settings β switch servers, reset local data (catalog, cached images, downloaded APKs) and revisit the help notices at any time.
The Android project lives in the _source folder and uses the Gradle wrapper.
cd _source
./gradlew :app:assembleRelease # or assembleDebugThe release APK is written to _source/app/build/outputs/apk/release/. Note that the release build is unsigned by default β sign it with your own keystore before distributing it.
- Minimum Android: 7.0 (API 24) Β· Target: API 36
- Language: Java Β· Build system: Gradle (Android Gradle Plugin)
If you encounter any issues or have questions while using this software, feel free to contact us:
- GitHub Issues is the main platform for reporting bugs, asking questions, or submitting feature requests: https://github.com/bugfishtm/suitefish-android/issues
- Discord Community is available for live discussions, support, and connecting with other users: Join us on Discord
- Email support is recommended only for urgent security-related issues: security@bugfish.eu
This table provides an overview of key files and folders related to the repository. Click on the links to access each file for more detailed information. If certain folders are missing from the repository, they are irrelevant to this project.
| Document Type | Description |
|---|---|
| .github | Folder containing GitHub configuration, issue/PR templates and workflow files. |
| .github/CODE_OF_CONDUCT.md | Community guidelines for participation. |
| .gitattributes | Git configuration file for repository attributes (dev use). |
| .gitignore | Git configuration file for ignored files/folders (dev use). |
| _source | The Android Studio / Gradle project β full app source code. |
| _releases | Published release artifacts (APK builds). |
| _changelogs | Per-version changelog files. |
| _screenshots | Screenshots of the app. |
| _images | Image and branding assets. |
| _licenses | License texts for bundled third-party libraries. |
| _archive | Archived and test assets (dev use). |
| github_reset.bat | Batch script to reset the repository (dev use). |
| github_update.bat | Batch script to update the repository (dev use). |
| CONTRIBUTING.md | Guidelines and instructions for contributors. |
| CHANGELOG.md | Main changelog file summarizing project changes. |
| SECURITY.md | Security policy and reporting instructions. |
| LICENSE.md | Project license and usage terms. |
| README.md | Main readme file (you are currently viewing this). |
The app is built on the following open-source libraries, which are bundled into the release APK. Each remains under its own license β refer to the respective project for the full terms, and see the _licenses folder.
| Component | Used for | License |
|---|---|---|
| AndroidX Activity | Activity APIs and lifecycle | Apache-2.0 |
| AndroidX AppCompat | Backward-compatible UI components | Apache-2.0 |
| Material Components for Android | Material Design UI widgets | Apache-2.0 |
| AndroidX ConstraintLayout | Flexible layout engine | Apache-2.0 |
| AndroidX RecyclerView | Efficient scrolling lists | Apache-2.0 |
| AndroidX SwipeRefreshLayout | Pull-to-refresh gesture | Apache-2.0 |
Testing tooling (JUnit, AndroidX Test, Espresso) is used during development only and is not shipped in the release APK.
Suitefish is released under the GNU General Public License v3.0. The full license can be found in the LICENSE.md file.
π Bugfish
