Caller/other party voice only fix for Android 8+
I'm writing this to report how I got this working. It could only record the microphone before, and now I fixed it. I'm running LOS 16 for Galaxy S9 Exynos G960-F.
You may need to be rooted. I am, using the latest Magisk as of today.
NOTE: This will trip SafetyNet. I'm trying to implement it as a Magisk module so SafetyNet can pass.
NOTE: Here's the Magisk module: https://github.com/KiralyCraft/callrecorder-axet . It should prevent SafetyNet from tripping
- Install the app normally
- Copy com.github.axet.callrecorder- from /data/app to the internal storage.
- Uninstall the app. This deletes the /data/app/com.github.axet.callrecorder- folder, hence the need for the backup.
- Copy the backuped folder into /system/priv-app/, so that you have /system/priv-app/com.github.axet.callrecorder-
- Next, go to /etc/permissions/. There will be multiple files like privapp-permissions-.xml ; Given that i was on LineageOS, i picked privapp-permissions-lineage.xml
- Send the xml file to your PC, open it with Notepad++ and go to Edit -> EOL Conversion -> Unix (LF).
- Scroll to the bottom of the document, and add the following lines:
<privapp-permissions package="com.github.axet.callrecorder"> <permission name="android.permission.CAPTURE_AUDIO_OUTPUT"/> </privapp-permissions>
- Make SURE you're using LF terminations!!
- Upload the file back to your phone, copy it over the existing one in /etc/permissions/
- VERY IMPORTANT STEP chmod the file to 644 and chgrp it to root:root
- Open the app, enable recording, grant permissions (yes,yes,yes...)
- Close the app, connect phone to PC and run:
adb shell "dumpsys package com.github.axet.callrecorder | grep CAPTURE_AUDIO_OUTPUT"
- If you see this:
android.permission.CAPTURE_AUDIO_OUTPUT: granted=trueThe fix worked.
See this: https://source.android.com/devices/tech/config/perms-whitelist See the attached photo for how your privapp-permissions file should look