Android

[Android] com.android.adblib.tools.EmulatorCommandException: Whitespace not allowed in path string 에러 해결

yujinius 2024. 11. 16. 21:11

에러 발생 상황

Android 프로젝트를 개발하면서 에뮬레이터에서 스크린 캡처 기능을 사용하려고 할 때 예상치 못한 에러가 발생했다. 스크린 캡처를 통해 화면을 기록하고 테스트하려고 했으나, 실행 과정에서 에러 메시지가 나타나며 기능을 사용할 수 없었다. 에러 메시지를 확인해 보니, com.android.adblib.tools.EmulatorCommandException: Whitespace not allowed in path string라는 오류가 발생한 것을 알 수 있었다.

에러 설명

이 에러는 Android SDK 또는 NDK의 설치 경로에 공백(Whitespace)이 포함되어 있을 때 발생하는 오류이다. Android SDK 도구들은 경로에 공백이 포함된 경우 해당 경로를 올바르게 해석하지 못하여 실행 시 오류를 발생시킨다. 특히, 에뮬레이터의 기능을 사용할 때 경로에 공백이 포함되어 있으면 스크린 캡처와 같은 여러 기능이 정상적으로 작동하지 않을 수 있다.

해결 방법

이 문제는 SDK 또는 NDK 경로에 공백이 없도록 설정하면 해결할 수 있다. 공백이 없는 경로로 SDK를 이동하거나 새로 설치하여 에뮬레이터가 공백 경로 문제를 겪지 않도록 수정하면 된다. 구체적인 해결 방법은 다음과 같다.

  1. SDK 경로 확인 및 이동:
    • SDK 및 NDK가 설치된 경로에 공백이 포함되어 있다면, 공백이 없는 디렉토리로 이동시킨다. 예를 들어, C:\Android SDK가 아닌 C:\SDK와 같이 경로에 공백이 포함되지 않은 폴더로 이동시킨다.
  2. 환경 변수 업데이트:
    • 이동한 SDK 경로에 맞게 시스템 환경 변수에 설정된 ANDROID_HOME 및 ANDROID_SDK_ROOT 값을 새로운 경로로 수정한다.
  3. Android Studio 설정 변경:
    • Android Studio의 SDK Manager에서 SDK 및 NDK 경로를 새로 이동한 위치로 변경한다. 이를 통해 Android Studio가 공백이 없는 새로운 SDK 경로를 참조하게 된다.

나의 해결 과정

위와 같은 방법으로, 나는 C:\Android SDK 경로에 설치되어 있던 Android SDK 폴더를 ① C:\SDK로 이름을 변경했다. 이 과정 후 ② 환경 변수를 수정하고 ③ Android Studio의 SDK 경로도 새 경로로 변경하여 설정을 마쳤다. 이렇게 공백이 없는 경로로 설정한 후, 에뮬레이터의 스크린 캡처 기능을 정상적으로 사용할 수 있었으며, 더 이상 Whitespace not allowed in path string 오류가 발생하지 않았다.

 

결론

Android SDK 경로에 공백이 포함되면 에뮬레이터 실행 시 문제가 발생할 수 있으며, 특히 스크린 캡처와 같은 기능에서 오류가 발생할 가능성이 크다. SDK 및 NDK 경로를 공백이 없는 디렉토리로 설정하면 이 문제를 해결할 수 있다. 이번 포스팅에서는 Android 에뮬레이터의 공백 경로 문제에 대한 해결 방법을 공유했으며, 같은 오류를 겪고 있는 개발자들에게 도움이 되기를 바란다.