본문 바로가기

프로그래밍/Android

adb.exe not a valid win32 application. CreateProcess error

안드로이드 스튜디오를 열었는데, 한참통안 먹통이 되면서, 가상 에뮬레이터 기기들이 뜨지 않았다. 안드로이드 스튜디오의 맨 아래 상태메시지에는 android sdk platform-tools 중의 하나인 adb.exe 의 CreateProcess 의 실행오류 메시지가 발생했다. adb.exe 가 정상적인 Win32 어플리케이션이 아니라는 메시지였다. 영문메시지로는 아마도 adb.exe is not a valid Win32 application. 으로 나오는 것 같고.

우선 시도한 것은 안드로이드 스튜디오의 Tools - SDK Manager 를 열어서, platform-tools 를 삭제했다가 재설치 해보는 것이었다. 그런데, 왜인지 platform-tools 삭제하는 부분에서 adb.exe 를 중지하는데 시간이 무한정걸렸다. procexp 로 adb.exe 가 떠있지 않은 것을 확인하였으나, 실행되지 않은 adb.exe 의 실행을 중지하려고 기다리고 있는 것 같았다.

android studio 를 우선 중지하고, sdk manager 만 실행해야 했다.

Android SDK 가 설치된 위치로 가서, cmdline-tools/latest/bin 폴더에 가보니 sdkmanager.bat 이라는 배치파일이 있었다. 파일을 실행하면 sdk manager 만 단독으로 실행할 수 있을 것 같았다. 그러나 실행하여 보니 우선 JAVA_HOME 환경변수가 제대로 잡혀있지 않아서 실행이 되지 않았다. java jdk 를 다시 깔고 JAVA_HOME 변수를 설정한 이후에 실행하여보니, GUI 프로그램이 뜨는 게 아니라 (과거에는 단독 GUI 프로그램이 떴던 것 같은데...) 커맨드라인으로 인자를 주어 실행하여야 했다.

  • sdkmanager.bat --help 를 실행하여 헬프를 확인하여 실행인자들을 확인하고,
  • sdkmanager.bat --list_installed 를 실행하여 설치된 sdk 모듈들을 확인하였다. 많은 모듈들 중에 platform-tools 를 확인하였고,
  • sdkmanager.bat --uninstall platform-tools 를 실행하여 platform-tools 삭제를 실행하고, 실제 폴더에서 platform-tools 폴더가 사라진 것을 확인하였다.
  • 마지막으로 sdkmanager.bat --install platform-tools 를 실행하여 다시 platform-tools 와 궁극적으로 해당 폴더 안의 adb.exe 가 현재의 날짜로 생성된 것을 확인하였다.

이렇게 진행한 이후에 Android Studio 를 다시 실행하여 이전의 문제가 해결된 것을 확인하였다.

 

 

728x90