JemRec

com.jemcik.jemrec
by Zapstore _@zapstore.dev

Call recorder for unrooted Android: both sides, no root, no companion app

Republished from GitHub / F-Droid by the Zapstore main account.

A call recorder for unrooted Android. One APK. No root, no Shizuku, no companion app, no computer: the phone sets itself up. **How it works.** Android's voice-call audio source carries both sides of a call, but reading it takes permissions no ordinary app can hold. The shell user that an ADB session runs as holds them. JemRec embeds an ADB client and pairs with the phone's own Wireless debugging over 127.0.0.1, the same six-digit pairing a laptop would do, with both ends on the same handset. Nothing leaves the phone. The ADB session lasts a few seconds, though debugging itself stays on (see below). In it the app launches a small shell-privileged daemon, then closes the session. The daemon watches the call state and writes each call to a file; the app is not on the audio path at all, and holds no microphone permission. Every connection between the two is authenticated in both directions over a token that never crosses the socket. **Recordings** are Opus in an Ogg container, in the phone's standard Recordings/JemRec folder, where any file manager or music app can open them. Automatic mode records every call; ask-first mode records nothing until you tap Record on the start-of-call notification. **Setup** takes two things by hand, once: turn on Developer options, then USB debugging and Wireless debugging, and type the pairing code into JemRec's notification. The pairing survives reboots. The recorder does not: after a restart it is rebuilt automatically the next time Wi-Fi is around, provided the phone lets JemRec start on its own. Settings has a card that opens the right screen for that. Wi-Fi is needed only to rebuild the recorder, never to record. **What stays on.** USB debugging and Wireless debugging stay on for as long as JemRec is installed, and JemRec turns them back on if they go off: the recorder cannot run without them. While they are on, a computer that has been paired with the phone can connect to it on the same Wi-Fi. Android shows a notification while debugging is on; setup asks whether JemRec should hide it, and Settings can change the answer. To turn debugging off for good, uninstall JemRec first. **Requirements.** Android 12 or newer, and a phone whose audio hardware hands over the voice-call source. That varies by manufacturer and cannot be worked around: some phones give both sides, some give one, some give silence. Both sides have been recorded on an Honor Magic 8 Pro, a Samsung Galaxy S20 and a OnePlus on LineageOS. Settings → Diagnostics → Self-test answers it for your phone in about a second. **Recording calls is your responsibility.** Consent law differs by country and sometimes by state. This app records what you tell it to and warns nobody on your behalf. **What it does not ask for:** no RECORD_AUDIO, no blanket storage access, no phone state. INTERNET is required by Android for any TCP socket, including one to 127.0.0.1, which is the only address this app connects to. READ_MEDIA_AUDIO is asked for only to list recordings made before a reinstall. READ_CALL_LOG and READ_CONTACTS are optional and only label recordings with who the call was with. Notification access is granted only if you ask JemRec to hide Android's debugging notification, and is used for nothing else.

First release: Oct 9, 2026, 3 total releases.

Most recent release: Oct 21, 2026.

Website Repo

Appears in 0 app stacks.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • Oct 21, 2026 0.15
    Requires Android 12 (API 31) or newer. Signed with the project release key, so it installs over any earlier release of the same lineage. ## What's Changed * 0.15: fixes from a review of the whole app, caller names again (#30), and the tests and checks that hold them by @jemcik in https://github.com/jemcik/JemRec/pull/31 **Full Changelog**: https://github.com/jemcik/JemRec/compare/0.14...0.15
  • Oct 20, 2026 0.13
    Requires Android 12 (API 31) or newer. Signed with the project release key, so it installs over any earlier release of the same lineage. ## What's Changed * 0.13: messenger calls — WhatsApp, Telegram and Viber, both sides by @jemcik in https://github.com/jemcik/JemRec/pull/28 **Full Changelog**: https://github.com/jemcik/JemRec/compare/0.12...0.13
  • Oct 9, 2026 0.8
    Requires Android 12 (API 31) or newer. Signed with the project release key, so it installs over any earlier release of the same lineage. ## What's Changed * Fix calls going unrecorded after the recorder's first GC, and make the self-test catch it by @jemcik in https://github.com/jemcik/JemRec/pull/17 * 0.8 by @jemcik in https://github.com/jemcik/JemRec/pull/18 **Full Changelog**: https://github.com/jemcik/JemRec/compare/0.7...0.8