이번에 macOS가 Sierra(10.12)로 업데이트 되면서 이상하게도 ADB가 정상적으로 동작하지 않는 문제가 있었습니다. 그럴때마다 Android 디바이스를 재연결 하거나 ADB Server를 재시작하는 식으로 문제를 해결해 왔습니다만 좀 더 근본적으로 이 문제를 해결할 수 있는 방법이 있어서 내용을 정리합니다.
우선 이는 Android Studio 2.2가 배포되던 시기에 함께 배포되던 Android SDK Platform Tools 에 존재했던 버그때문에 발생한 문제입니다. 이는 [참고URL]와 같이 해결 되었으며 Android SDK Platform Tools 버전 24.0.4 이후에 적용되었습니다.
이 글을 작성하는 현재 시점에서는 버전이 25까지 올라갔군요. 하지만 저의 경우에는 이렇게 버전업그레이드를 했음에도 계속해서 문제가 발생하였습니다. 심지어 ADB의 오류 메시지로는 다음과 같은 메시지가 출력되었습니다.
* daemon not running. starting it now on port 5037 * * daemon started successfully * error: no devices/emulators found error: no devices/emulators found ... error: device unauthorized. This adb server's $ADB_VENDOR_KEYS is not set Try 'adb kill-server' if that seems wrong. Otherwise check for a confirmation dialog on your device.
이와 같은 문제는 다음의 과정을 통해 해결할 수 있었습니다.
1. Android 디바이스의 연결을 해제 합니다. 간단하게 USB 케이블을 뽑으시면 됩니다.
2. ADB Server를 종료합니다.
$ adb kill-server
3. Android 설정 파일이 존재하는 디렉토리로 이동합니다.
$ cd ~/.android
4. 디렉토리 안에 존재하는 adbkey 및 adbkey.pub 파일을 삭제합니다.
$ rm adbkey*
5. ADB Server를 재시작 합니다.
$ adb start-server
6. Android 디바이스를 다시 연결합니다. 이후 다시 신뢰하는 디바이스로 연결하겠냐는 팝업이 뜨게 되는데 다시 등록해 주시면 adbkey 파일이 재생성됩니다.
위와 같은 작업을 거치고 나면 연결이 끊어지지 않고 정상적으로 동작하는 것을 확인할 수 있습니다.
참고 :