개발/Android

📱 Android 11 커스텀 펌웨어에서 logd 미작동 문제 해결기

dev0ju 2025. 4. 30. 14:17

 

안녕하세요, 앱 개발 중에 커스텀된 Android 11 펌웨어에서 로그를 확인할 수 없는 이슈를 겪었습니다.

이 글에서는 문제의 원인과 해결 과정을 공유하고자 합니다.


🧩 문제 상황

  • 환경: 커스텀된 Android 11 (arm64) 기기
  • 문제: adb shell 명령은 실행되지만, logcat 명령 실행 시 다음과 같은 오류 발생
     
logcat: Logcat read failure: No such file or directory.
  • 추정 원인: logd 데몬이 비활성화되었거나 /system/bin/logd 파일이 누락됨

🔍 문제 해결 과정

1. Android Studio에서 Android 11 AVD 생성

문제 해결을 위해 동일한 환경의 Android 11 AVD를 생성하여 logd 파일을 추출하기로 결정했습니다.

 

AVD 생성 방법

  1. Android Studio 실행: Android Studio를 실행합니다.
  2. Device Manager 열기: 상단 메뉴에서 Tools > Device Manager를 선택합니다.
  3. 가상 디바이스 생성: Create Device 버튼을 클릭합니다.
  4. 디바이스 선택: 원하시는 Device를 선택, 예를 들어 Pixel 4를 선택한 후 Next를 클릭합니다.
  5. 시스템 이미지 선택: Android 11 (API 30)의 x86_64 또는 arm64를 이미지환경에 맞게 선택하고 Next를 클릭합니다.
    (제가 확인하고자 했던 기기는 arm64라 arm64로 선택)
  6. AVD 설정 확인: 설정을 확인하고 Finish를 클릭하여 AVD를 생성합니다.

 

2. AVD에서 루트 권한 획득 및 logd 파일 추출

AVD에서 루트 권한을 획득하고 필요한 파일을 추출합니다.

  1. AVD 실행: 생성한 AVD를 실행합니다.
  2. AVD에서 logd 파일 추출
# ADB 루트 권한 활성화
adb root

# 시스템 파티션을 쓰기 가능하도록 마운트
adb remount

# logd 파일 추출
adb pull /system/bin/logd ./logd

 

3. 문제 기기에 logd 파일 적용

추출한 logd 파일을 문제의 기기에 적용합니다.

# logd 파일 전송
adb push ./logd /system/bin/logd

# 파일 권한 설정
adb shell chmod 755 /system/bin/logd

# 기기 재부팅
adb reboot

 

✅ 결과

기기 재부팅 후 logcat 명령이 정상적으로 작동하여 로그를 확인할 수 있게 되었습니다.


📝 마무리

커스텀 펌웨어를 사용하는 경우, 시스템 파일의 누락이나 비활성화로 인해 예상치 못한 문제가 발생할 수 있습니다.

이러한 상황에서는 AVD를 활용하여 문제되는 파일을 추출하고 적용하는 방법이 유용할 수 있습니다.

이 글이 비슷한 문제를 겪는 분들께 도움이 되길 바랍니다.

추가적인 질문이나 피드백이 있으시면 댓글로 남겨주세요😊