Frida-server 실행 시 TypeError: t is not a function 오류 해결 기록

Android 13 기기에서 프리다 서버를 실행하면 TypeError: t is not a function 관련 메시지가 출력되며 프리다 스크립트가 정상적으로 실행되지 않는 오류가 발생하였습니다.


확인해본 결과, Android 12+부터는 핵심 런타임(ART)이 Google Play System Update(Mainline/APEX)로 업데이트 되는 경우가 있는데 이때 업데이트된 ART 모듈이 특정 네이티브/브릿지 계열 도구와 충돌하는 사례가 있다고 합니다. (frida-java-bridge/lib/android.js에서 초기화 단계에서 터지는 모습이 런타임(ART) 호환성/구조 변경과 맞물렸을 가능성 존재)


이를 해결하기 위해서는 com.google.android.art 를 제거한 후에 기기를 재부팅하면 정상적으로 프리다 사용이 가능해집니다.

# 아래 명령어 실행하여 com.google.android.art 패키지 확인되면 삭제 후 재부팅
# pm list packages | grep com.google.android.art
 
c1q:/ $ pm uninstall com.google.android.art
Success
c1q:/ $ reboot


결론, frida-server 실행 시 TypeError: t is not a function 오류가 반복된다면, com.google.android.art 제거 후 재부팅하자


  1. https://github.com/frida/frida/issues/2851