package icon

JemRec

Records phone, WhatsApp, Telegram, Viber and Meet calls, both sides, no root
New in version 0.22
Google Meet calls and meetings can be recorded, both sides, on Android 14+: switch Meet on under Messenger calls. Until now JemRec took Meet's calls for phone calls and recorded every one, with no switch; and a phone call answered right after a declined Meet call was merged into it, without the other person. Calls that other apps put through Android's call service are no longer recorded as phone calls. (Issue #37)
A call recorder for unrooted Android — phone and messenger calls. 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 only system-level identities may read it, among them ADB's shell user. JemRec embeds an ADB client and pairs with the phone's own Wireless debugging over 127.0.0.1. Nothing leaves the phone.

In an ADB session of a few seconds the app starts a small shell-privileged daemon, which writes each call to a file; the app is never on the audio path. Every connection between the two is authenticated both ways.

Recordings are Ogg Opus files in the phone's Recordings/JemRec folder. A recording starts when the call is answered: no ringing, and a call nobody answered is not kept. Automatic mode records every call; ask-first mode records nothing until you tap Record. Messenger calls (WhatsApp, Telegram, Signal, Viber) and Google Meet can be recorded too, both sides, app by app, on Android 14+; all but Signal tested. It tells you when something is wrong: a silent recording, a recorder that is down, a call that went unrecorded.

Playing, finding, keeping. A call plays as its waveform, and goes on with the screen off, its caller kept off the lock screen. A Calls tab shows the call log: each recording, or why there is none; both lists can be searched and filtered. Deleted recordings wait 30 days in Recently deleted; auto-delete, off by default, clears old and very short recordings, never ones marked to keep. You can keep only some people's calls, and name files with the caller - or so Honor's Phone app plays them from its call history.

Three looks: Memo; Deck, a pocket recorder; Multitrack, a sound editor - each light, dark or as the phone.

Answering machine, off until you switch it on: it answers phone calls you don't take, plays your greeting with your microphone muted and keeps the caller's message, by the same rules as recording; you can still take the call. It pauses for a day after an emergency call. Experimental, tested on one Snapdragon phone: built-in checks and a test call tell whether it works on yours.

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 is rebuilt on the next Wi-Fi if the phone lets JemRec run on its own - setup asks, and JemRec warns if the phone stops it. Wi-Fi is only needed to rebuild it.

What stays on. USB and Wireless debugging stay on while JemRec is installed, turned back on if they go off: the recorder needs them. While they are on, a computer paired with the phone can connect to it on the same Wi-Fi. 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. Both sides have been recorded on an Honor Magic 8 Pro, Galaxy S20 and S23, and a OnePlus on LineageOS. The self-test in Settings → Diagnostics answers it for your phone.

Recording calls is your responsibility. Consent law differs by country and 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 phone state. INTERNET is required for any TCP socket, including one to 127.0.0.1, which is the only address this app connects to. READ_MEDIA_AUDIO (on Android 12, READ_EXTERNAL_STORAGE) is asked for only to list recordings made before a reinstall. READ_CALL_LOG and READ_CONTACTS are optional: they tell JemRec who a call was with, and let it notice one that went unrecorded. MANAGE_ONGOING_CALLS, allowed by the recorder while exact call tracking is on, tells JemRec when a call is answered and ends. Notification access, only if you ask, hides Android's debugging notification or names a messenger caller; nothing else.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 0.22 (2200) suggested Added on Oct 29, 2026

    arm64-v8a armeabi-v7a

    This version requires Android 12 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • Manage ongoing calls
      Allows an app to see details about ongoing calls on your device and to control these calls.
    • show notifications
      Allows the app to show notifications
    • read call log
      This app can read your call history.
    • read your contacts
      Allows the app to read data about your contacts stored on your phone. Apps will also have access to the accounts on your phone that have created contacts. This may include accounts created by apps you have installed. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read audio files from shared storage
      Allows the app to read audio files from your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • display notifications as full screen activities on a locked device
      Allows the app to display notifications as full screen activities on a locked device
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • android.permission.WRITE_SECURE_SETTINGS
    • com.jemcik.jemrec.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 9 MiB PGP Signature | Build Log

  • New in version 0.20.1
    Unplugging the phone from a computer no longer leaves it unrecorded. On an Honor it stopped Android's debugging service three seconds later, and the recorder with it, while both debugging switches still read on; nothing brought it back, and the home screen asked to allow a Wi-Fi already allowed. The recorder now watches the cable, and JemRec starts it again by itself, about 15 seconds after the unplug on Wi-Fi - with the screen off, when JemRec may start automatically. A charger never did this.
  • Version 0.20.1 (2001) - Added on Oct 27, 2026

    arm64-v8a armeabi-v7a

    This version requires Android 12 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • Manage ongoing calls
      Allows an app to see details about ongoing calls on your device and to control these calls.
    • show notifications
      Allows the app to show notifications
    • read call log
      This app can read your call history.
    • read your contacts
      Allows the app to read data about your contacts stored on your phone. Apps will also have access to the accounts on your phone that have created contacts. This may include accounts created by apps you have installed. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read audio files from shared storage
      Allows the app to read audio files from your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • display notifications as full screen activities on a locked device
      Allows the app to display notifications as full screen activities on a locked device
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • android.permission.WRITE_SECURE_SETTINGS
    • com.jemcik.jemrec.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 9 MiB PGP Signature | Build Log

  • Version 0.16 (1600) - Added on Oct 25, 2026

    arm64-v8a armeabi-v7a

    This version requires Android 12 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • Manage ongoing calls
      Allows an app to see details about ongoing calls on your device and to control these calls.
    • show notifications
      Allows the app to show notifications
    • read call log
      This app can read your call history.
    • read your contacts
      Allows the app to read data about your contacts stored on your phone. Apps will also have access to the accounts on your phone that have created contacts. This may include accounts created by apps you have installed. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.
    • read audio files from shared storage
      Allows the app to read audio files from your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • display notifications as full screen activities on a locked device
      Allows the app to display notifications as full screen activities on a locked device
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • android.permission.WRITE_SECURE_SETTINGS
    • com.jemcik.jemrec.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8.3 MiB PGP Signature | Build Log