[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-77612":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},77612,"ShizuCallRecorder","kitsumed\u002FShizuCallRecorder","kitsumed","ShizuCallRecorder empowers ADB through Shizuku to record phone calls on non-rooted device!","",null,"Kotlin",426,13,4,12,0,5,82,287,33,83.44,"GNU General Public License v3.0",false,"main",[26,27,28,29,30,31],"adb","android","callrecorder","no-root","scrcpy","shizuku","2026-06-12 04:01:21","# ShizuCallRecorder\n[![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkitsumed\u002FShizuCallRecorder?style=for-the-badge&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI%2BPHRpdGxlPnN0YXI8L3RpdGxlPjxwYXRoIGQ9Ik0xMiwxNy4yN0wxOC4xOCwyMUwxNi41NCwxMy45N0wyMiw5LjI0TDE0LjgxLDguNjJMMTIsMkw5LjE5LDguNjJMMiw5LjI0TDcuNDUsMTMuOTdMNS44MiwyMUwxMiwxNy4yN1oiIGZpbGw9IndoaXRlIiAvPjwvc3ZnPg%3D%3D&labelColor=gray&color=gold)](https:\u002F\u002Fgithub.com\u002Fkitsumed\u002FShizuCallRecorder\u002Fgraphs\u002Ftraffic)\n[![GitHub Downloads (all assets, all releases)](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fkitsumed\u002FShizuCallRecorder\u002Ftotal?style=for-the-badge&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI%2BPHRpdGxlPmRvd25sb2FkPC90aXRsZT48cGF0aCBkPSJNNSwyMEgxOVYxOEg1TTE5LDlIMTVWM0g5VjlINUwxMiwxNkwxOSw5WiIgZmlsbD0id2hpdGUiIC8%2BPC9zdmc%2B&label=Downloads&labelColor=gray&color=gold&)](https:\u002F\u002Fgithub.com\u002Fkitsumed\u002FShizuCallRecorder\u002Freleases\u002F)\n[![GitHub Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fkitsumed\u002FShizuCallRecorder?sort=semver&display_name=tag&style=for-the-badge&logo=testcafe&logoColor=white&label=Latest%20Release&labelColor=gray&color=blue)](https:\u002F\u002Fgithub.com\u002Fkitsumed\u002FShizuCallRecorder\u002Freleases\u002Flatest)\n[![GitHub Actions Workflow Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fkitsumed\u002FShizuCallRecorder\u002Fbuild-app.yml?style=for-the-badge&label=Build%20Workflow)](https:\u002F\u002Fgithub.com\u002Fkitsumed\u002FShizuCallRecorder\u002Factions\u002Fworkflows\u002Fbuild-app.yml)\n\nThe first **non-root FOSS call recorder app for Android 11+**! ShizuCallRecorder empowers ADB through Shizuku to use an [advanced list of permissions given to the shell application](https:\u002F\u002Fandroid.googlesource.com\u002Fplatform\u002Fframeworks\u002Fbase\u002F+\u002Fandroid16-release\u002Fpackages\u002FShell\u002FAndroidManifest.xml).\n[Latest URL](https:\u002F\u002Fcs.android.com\u002Fsearch?q=com.android.shell%20file:%2Fpackages%2FShell%2FAndroidManifest.xml).\n\nIt can also be seen as an on-device wrapper for [scrcpy-server](https:\u002F\u002Fgithub.com\u002Fgenymobile\u002Fscrcpy).\n\n**This application is intended to be a very basic call recorder that focuses solely on call recording for phone carriers**.\n\nI am not 100% opposed to adding support for third-party apps, but this is not the main focus and I want to keep the application simple. See [contributing](.\u002FCONTRIBUTING.md) for more information.\n\n## Features\n\n- Records **both sides of phone calls** (incoming and outgoing)\n    - Should work even when using Bluetooth or a remote headset\n- **Security** toggles to **manage Shizuku on\u002Foff state**\n    - An attempt to reduce the potential attack surface introduced by Shizuku\n    - Helps with apps that detect \u002F yells at you when USB Debugging or Shizuku is enabled\n- **Automatic call recording** option with basic **exclusion rules**:\n    - Ignore anonymous calls\n    - Ignore specific contacts\n    - Ignore all contacts\n- Saves recordings with **Opus** or **AAC** codec.\n- The app runs only on phone event changes, no persistent background process and notifications\n\n## Requirements\n- **Android 12** or more recent*. **Look at the *Android Tested Versions* table**.\n    - ***Android 11 has very limited support***. [Only works when the device screen is unlocked due to a workaround to an OS issue.](https:\u002F\u002Fgithub.com\u002FGenymobile\u002Fscrcpy\u002Fblob\u002F3fcc177da5b6b4514d0e8e8d90d7d58d6731eac9\u002Fserver\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fgenymobile\u002Fscrcpy\u002Faudio\u002FAudioDirectCapture.java#L56-L68).\n- [Shizuku](https:\u002F\u002Fgithub.com\u002Fthedjchi\u002FShizuku)* (we recommend [thedjchi](https:\u002F\u002Fgithub.com\u002Fthedjchi) fork)\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Android Tested Versions\u003C\u002Fb>\u003C\u002Fsummary>\n\u003Cb>I cannot extensively test all of these versions, so issues may arise. This table may change as more testing by other users is done.\u003C\u002Fb>\n    \n| Android Version | Supported | Note                                  |\n|-----------------|-----------|---------------------------------------|\n| 11              |**Limited**|**Unlocked screen required**, else it crash|\n| 12              | Yes       |                                      |\n| 13              | Yes       |                                      |\n| 14              | Yes       |                                      |\n| 15              | Yes       |                                      |\n| 16              | Yes       |                                      |\n| 17              |**Unknown**| Not yet released, has major ADB changes|\n\n\u003C\u002Fdetails>\n\n\n***[\\*]***: This application uses the server binary of [scrcpy](https:\u002F\u002Fgithub.com\u002Fgenymobile\u002Fscrcpy) to record audio. It is possible that new Android versions may not be\nsupported by the latest version yet. As such, this application will not be able to support newer or latest Android versions unless a release is made that supports them. The same can also be said about Shizuku.\n\n\n## Installation\nBefore continuing, please ensure you can meet the [requirements](#requirements) that were stated before this section.\n\n⚠️⚠️⬇️**YOU WILL NEED TO DO SOME INITIAL CONFIGURATIONS**.⬇️⚠️⚠️\n\n**Please follow the installation instructions in the [SUPPORT documentation](.\u002Fdocs\u002FSUPPORT.md)** under **Installation & Configuration**. \n\nYou can download the latest version [here](#).\n\n## Contributing\n\nPlease see the [contributing](.\u002FCONTRIBUTING.md) guide.\n\n\u003Cdetails>\n  \u003Csummary>\u003Cb>Translation hosting generously provided by \u003Ca href=\"https:\u002F\u002Fhosted.weblate.org\u002Fengage\u002Fshizucallrecorder\u002F\">Weblate\u003C\u002Fa>.\u003Cb\u002F>\u003C\u002Fsummary>\n  \u003Cp align=\"left\">\n    \u003Cp>\u003Cstrong>NOTE:\u003C\u002Fstrong> By default, Weblate will use your account creation email when making commits to GitHub (to give you credits). This would leak your email address, you can change this behavior in your account settings.\u003C\u002Fp>\n    \u003Ca href=\"https:\u002F\u002Fhosted.weblate.org\u002Fengage\u002Fshizucallrecorder\u002F\">\n      \u003Cimg src=\"https:\u002F\u002Fhosted.weblate.org\u002Fwidget\u002Fshizucallrecorder\u002Fhorizontal-auto.svg\" alt=\"Traduction Stats\">\n    \u003C\u002Fa>\n  \u003C\u002Fp>\n\u003C\u002Fdetails>\n\n## License\nThe software is licensed under the [GNU General Public License, version 3 (GPL-3.0)](LICENSE). ⚠️ **Additional terms** under GNU GPL version 3 Section 7 are at the end of the file.\n - This License does not grant any rights in the trademarks, service marks, or logos of any Contributor.\n - Misrepresentation of the origin of that material is prohibited, and modified versions of such material must be marked in reasonable ways as different from the original version. This is consistent with section 4 and 5 of the GPLv3 (\"Modified Versions\").\n - Specifically, this license does not grant you permission to use the name, trademarks, or logos associated with the project for your own purposes (e.g., uploading to app stores) unless granted explicit permission by the copyright holder (\"Original Author\").\n - *As example, the name \"`ShizuCallRecorder`\" and `com.kitsumed.shizucallrecorder` are the property of the copyright holder **kitsumed***.\n\nI decided to use the **GPL-3.0** license, as no other FOSS call recording app for non-root devices exists yet, and I want to ensure that any potential future alternatives derived from this project remain FOSS.\n\n## Disclaimer\n**Recording phone calls may be subject to complex and varying laws in different countries and jurisdictions.** For example, you may need to **ensure you have consent** from all parties before recording conversations. The **developers and contributors are not responsible** for any misuse or legal consequences arising from the use of this application.\nYou can **learn more on Wikipedia at**: [Telephone call recording laws](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTelephone_call_recording_laws).\n\n**If you are legally required to inform or ask someone for consent before recording**, please note that the application **DOES NOT handle this for you**.\nIn some cases, certain features, like automatic call recording, may not be legally allowed. It is your responsibility to ensure compliance with applicable laws. **This is not legal advice**. Please **consult a legal professional for guidance** regarding your specific situation.\n\n> [!CAUTION]\n> ### **APPLICATION BEHAVIOR**\n> Due to the evolving Android ecosystem and varying hardware (OEMs), this software is subject to **non-deterministic behavior**:\n> * **Concurrent Calls:** The app may fail to detect transitions (e.g., while in a call, a second incoming call arrives, or switching between held calls). In these scenarios, the application may **continue to record audio into a single continuous file** without separate notifications or new notifications prompts for subsequent callers.\n> * **Filter Logic Limitations**: **Due to Android privacy-driven restrictions on real-time phone number access**, the app relies on fetching a deprecated value when it receives a phone state updates. We are not aware of other rational workaround for standard apps (alternatives are restrictive or incompatible). This initial check is used to decide whether to automatically record based on your settings. **In cases where we receive the value too late, receive invalid data, or receive no data, the application is likely to consider the call as \"anonymous\" in its decision process**. This ***should not*** affect the final file name since we can read the device call logs after the call ended.\n> * **Unforeseen Failures:** Future OS updates, bugs, design choices in the app, or undocumented system behaviors may cause the app to start and\u002For continue recording, or fail, in a unexpected manner.\n>\n> ### **USER AWARENESS**\n> Because deterministic behavior of the application cannot be guaranteed, it is your responsibility to:\n> 1. Ensure the recording behavior and your application settings aligns with your intent and the specific requirements in your jurisdiction.\n> 2. **Monitor the app's behavior** on your specific device. If you observe any behavior that does not comply with your local laws, you **must immediately cease any activity that constitutes a legal infraction** (For example, hanging up the call, deleting the audio files, etc).\n\n\n## Star History\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=kitsumed\u002FShizuCallRecorder&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=kitsumed\u002FShizuCallRecorder&type=date&legend=top-left\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=kitsumed\u002FShizuCallRecorder&type=date&legend=top-left\" \u002F>\n \u003C\u002Fpicture>\n","ShizuCallRecorder 是一个适用于非 root 安卓设备的开源电话录音应用。它通过 Shizuku 和 ADB 接口实现了对高级权限的访问，从而在 Android 11 及以上版本上实现通话录音功能。该应用支持录制来电和去电，并且即使使用蓝牙或远程耳机也能正常工作。此外，ShizuCallRecorder 提供了安全开关来管理 Shizuku 的启用状态，以减少潜在的安全风险；还具备自动录音选项及基本的排除规则（如忽略匿名来电、特定联系人等），并支持 Opus 或 AAC 编码保存录音文件。此工具非常适合需要在不获取 root 权限的情况下进行电话录音的用户。",2,"2026-06-11 03:55:38","CREATED_QUERY"]