GitHub - kalasyan/recompa · GitHub
Skip to content
kalasyanPublic

About

No description, website, or topics provided.

Resources

Stars

150 stars

Watchers

5 watching

Forks

Repository files navigation

Recompa logo

Recompa

Native ports of your favorite games, in one Android launcher.

Android 8.0+ Kotlin Jetpack Compose Status: beta License GPL-3.0

Download APK Website: recompa.app

📖 About

Recompa is an Android launcher for native game ports: recompilations, decompilations and source ports that run without emulation.

Pick a game, install its port straight from the author's GitHub, set up your copy of the game and play. Recompa is built for controllers and handhelds like the AYN Thor.

✨ Features

  • 🎮 Over 130 ports from PC, N64, Xbox 360, GameCube, GBA, PSP and more.
  • 🖼 Cover art and a dark launcher UI made for the D-pad and shoulder buttons.
  • 🔒 Verified installs: every APK's SHA-256 and signature are checked before installing.
  • 🧩 Game files wizard that checks your ROM or data files and gets them ready.
  • 🔄 Updates for ports from inside the app: update everything at once, get notified when ports have new versions, or go back to an earlier version if an update breaks something.
  • ⬆️ Recompa updates itself: it tells you when a new version is out (in the app and with a notification) and installs it over the current one.
  • 📥 Background downloads: leave the app while ports download, verify and install. Progress shows as a notification.
  • 🔗 Fork links: every fork on a port's page opens its GitHub repository, so you can see where a port comes from.
  • 📌 Link ports you already have: "I already have it installed" links a port you installed outside Recompa. If it doesn't match the catalog's package or signature, Recompa warns you and won't update it.
  • 🔍 Search and favorites, both one button away on the gamepad (X and Y).
  • 🕹 Frontend mode: full screen, and Recompa can be your handheld's home screen.
  • 📊 Compatibility reports: see how each port runs on other players' devices, and report your own. No GitHub account needed.
  • 💡 Suggest a port: send a GitHub repository for the catalog from the library, or when a search finds nothing. Also without a GitHub account.
  • 🌍 Languages: English, Spanish, French, Portuguese and German, picked in Settings (or in Android's app language settings on Android 13+).

📸 Screenshots

Library with cover art and platform filters Nintendo 64 ports

A port's page

Where to find things

The suggest and settings buttons at the top of the library Suggest a port with the + button at the top of the library, and open Settings with the gear next to it.
The Suggest a port dialog Paste the port's GitHub repository. No GitHub account needed.
The language picker in Settings Change the language at the top of Settings: English, Español, Français, Português or Deutsch.
The I already have it installed button on a port's page Link a port you installed elsewhere with I already have it installed, under the Install button.
The Report how it runs button at the bottom of a port's page Report how a port runs from On other devices, at the bottom of its page.
The compatibility report dialog Pick how it runs and send it, also without a GitHub account.

📥 Install

Website and download page: https://recompa.app/

  1. On your Android device (8.0 or later), open https://github.com/kalasyan/recompa/releases/latest/download/recompa.apk and open the downloaded file.
  2. Android will ask you to allow installing apps from your browser or file manager. Allow it to install Recompa. If Google Play Protect says it is harmful, tap More details and then Install anyway (see below).
  3. The first time you open Recompa, it explains the permission it needs to install ports.
  4. Pick a port, tap Install and, if it needs game files, use Files you need on its page.

About the Play Protect warning: Play Protect distrusts new apps that are not on Google Play and can install other apps, as any store does. It has not found anything specific in Recompa: you can check by uploading the APK to VirusTotal. Since 0.3.0 Recompa no longer asks to see every installed app (QUERY_ALL_PACKAGES), one of the things that made Play Protect suspicious. Its code is public, it is always signed with the same key, and the warning fades as more people install it.

Recompa tells you when a new version is out and updates itself from inside the app.

Test builds: every push to main publishes a nightly-N release. Nightlies use a different signing key from stable versions, so switching between them requires uninstalling first. See RELEASING.md for stable releases.

💬 Feedback

  • Problems with a port: use Report how it runs on its page in Recompa. Reports go to this repository's issues, with or without a GitHub account.
  • A port missing from the catalog: use Suggest a port in the library, or open a port suggestion.
  • Problems with Recompa itself: open an issue.

👩‍💻 Development

Requirements: JDK 17 and the Android SDK.

./gradlew :core:test          # logic tests
./gradlew :app:assembleDebug  # debug APK

The port catalog is managed in a private repository and published at https://recompa.app/index.json.

The download website lives in site/ and is published next to the catalog on GitHub Pages (python site/build.py OUT_DIR builds it; needs Pillow).

🤖 Use of AI

This project was built with the help of AI tools (Claude, by Anthropic) for research, design and part of the code.

⚖️ Legal notice

Recompa does not include, host or download games, ROMs, ISOs or any other copyrighted files. Each port needs a legitimate copy of the original game. Ports belong to their authors and are downloaded from their own repositories.

Recompa is not affiliated with or endorsed by Nintendo, Sega, Sony, Microsoft or any game publisher or developer. All trademarks belong to their respective owners.

📄 License

GPL-3.0.

About

No description, website, or topics provided.

Resources

Stars

150 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages