ShizuCallRecorder przywraca nagrywanie rozmów do czystego Androida bez rootowania
Pamiętasz czasy, gdy nagrywanie rozmowy na Androidzie było tak proste jak pobranie pierwszej lepszej aplikacji ze Sklepu Play? Google konsekwentnie zamyka tę furtkę z każdą nową wersją systemu. Najpierw ograniczyli dostęp do mikrofonu podczas rozmów, a następnie zablokowali Accessibility API dla zewnętrznych rejestratorów. W rezultacie właściciele nowoczesnych urządzeń mają do wyboru dwie opcje: kupić smartfon z wbudowanymi funkcjami nagrywania producenta lub uzyskać dostęp root.
Nowy projekt o nazwie ShizuCallRecorder niedawno pojawił się na GitHubie. Jego autor znalazł trzecie rozwiązanie. To narzędzie open source umożliwia nagrywanie obu stron rozmowy na Androidzie 12 i nowszych bez żadnych modyfikacji systemowych.
Jak działa przechwytywanie audio bez rootowania
Pomysł projektu jest niezwykle prosty. Zamiast próbować obejść zabezpieczenia systemowe poprzez specjalne funkcje, deweloper wykorzystał infrastrukturę Shizuku.
Dla nieznających Shizuku: to narzędzie do przekazywania uprawnień ADB na poziom zwykłych aplikacji. Uruchomienie jako shell (uid 0) w Androidzie daje przywileje niedostępne dla zwykłego oprogramowania. Autor ShizuCallRecorder umieścił w aplikacji binarny plik scrcpy.
Gdy następuje połączenie przychodzące lub wychodzące, ShizuCallRecorder uruchamia izolowany wątek przez Shizuku. Serwer przechwytuje strumień audio bezpośrednio z systemu i przekazuje go do aplikacji. Dzięki temu można bezproblemowo nagrywać zarówno Twój głos, jak i głos rozmówcy, nawet podczas rozmów przez zestaw słuchawkowy Bluetooth.
Przepływ pracy wygląda następująco:
- Aplikacja odbiera zdarzenie zmiany stanu telefonu z BroadcastReceiver.
- Żąda od Shizuku uruchomienia wewnętrznej usługi.
- Uruchamia się lokalna instancja scrcpy z flagami przechwytywania audio.
- Strumień jest kodowany do Opus lub AAC i zapisywany w pamięci urządzenia.
- Po zakończeniu rozmowy proces zatrzymuje się.
Aplikacja nie ma stałej usługi działającej w tle, która zużywa pamięć i rozładowuje baterię. Budzi się tylko wtedy, gdy zostanie wywołana przez zdarzenie systemowe.
Ustawienia i funkcje
Funkcjonalność narzędzia jest celowo minimalistyczna. Autor wyraźnie ostrzega w dokumentacji, że nie planuje przekształcać projektu w uniwersalny rejestrator dla komunikatorów takich jak Telegram czy WhatsApp. Główny nacisk kładzie na zwykłe rozmowy telefoniczne przez operatora komórkowego.
Wśród przydatnych opcji znajdziesz:
- Wybór kodeka audio między Opus a AAC.
- Automatyczne nagrywanie z regułami wykluczania. Możesz ignorować numery anonimowe, konkretne kontakty z książki telefonicznej lub nagrywać tylko rozmowy z nieznanych numerów.
- Automatyczne wyłączanie Shizuku po rozmowie.
Ostatni punkt dotyczy bezpieczeństwa. Niektóre aplikacje bankowe i korporacyjni klienci usług reagują negatywnie na włączony ADB lub aktywną usługę Shizuku. Aby uniknąć wyzwalania mechanizmów bezpieczeństwa innego oprogramowania, ShizuCallRecorder może samodzielnie zakończyć swoją sesję.
Zastrzeżenia i ograniczenia
Przed instalacją rozważ szczegóły implementacji technicznej.
Po pierwsze, narzędzie opiera się na prywatnych API Androida i logice AudioRecord. Na czystym Androidzie (Pixel, Motorola lub ROM-y AOSP) wszystko działa normalnie. Jednak producenci smartfonów lubią przepisywać usługi obsługi wywołań systemowych. Problemy mogą wystąpić na firmware takich jak MIUI, HyperOS czy One UI.
Po drugie, występuje niuans z równoczesnymi rozmowami. Jeśli podczas trwającej rozmowy pojawi się drugie połączenie i przełączysz się na nie, nagrywanie kontynuuje się w tym samym pliku bez separacji.
Po trzecie, reguły prywatności w najnowszych wersjach Androida utrudniają natychmiastowy dostęp do numeru dzwoniącego. Z tego powodu identyfikator rozmówcy czasami uruchamia się z opóźnieniem, a automatyczny filtr może błędnie traktować rozmowę jako anonimową.
Kompatybilność z wersjami systemu wygląda następująco:
- Android 11 jest obsługiwany z zastrzeżeniem: ekran urządzenia musi być odblokowany, aby przechwytywanie audio działało.
- Android 12, 13, 14 i 15 działają w pełni.
- Android 16 i 17 są nadal kwestionowane ze względu na ogłoszone zmiany w podsystemie ADB.
Jak wypróbować projekt
Proces konfiguracji jest nieco bardziej złożony niż typowa instalacja ze sklepu z aplikacjami, ale jest prosty:
- Zainstaluj i uruchom Shizuku na swoim smartfonie (autor repozytorium zaleca użycie forka autorstwa thedjchi).
- Pobierz najnowszy plik APK ze strony wydań ShizuCallRecorder na GitHubie.
- Przyznaj aplikacji podstawowe uprawnienia do dostępu do rozmów i kontaktów.
- Zatwierdź żądanie dostępu do Shizuku.
ShizuCallRecorder to świetny przykład tego, jak połączenie istniejącej infrastruktury (scrcpy i Shizuku) może rozwiązać problem, który napotkał ścianę ograniczeń systemowych w Androidzie. Projekt jest napisany w Kotlinie, rozpowszechniany na licencji GPL-3.0 i starannie wykonuje dokładnie to zadanie, do którego został stworzony.
Jeśli potrzebujesz autonomicznego nagrywania rozmów telefonicznych bez rootowania urządzenia, ten projekt zdecydowanie zasługuje na miejsce w Twojej kolekcji przydatnych narzędzi.
Powiązane projekty