언제나 그랬듯이 오랜만에 건드리는 것들은 어김없이 에러를 내뱉는다

갤럭시 노트9 안드로이드 9.0 으로 올리고 uiautomatorviewer 를 실행시켜서 화면 캡쳐를 하려 했더니만..

Error taking device screenshot: EOF

얜 또 뭘까..?? EOF 뭔가 DJ 페스티벌 이름 같다.

 

해결책

결론적으로는 희한하게 노트북에서는 uiautomator가 정상적으로 동작했는데 노트북에 설치되어있는 adb.exe 파일을 복사해서 데스크탑에 붙여넣기 했더니 해결되었다.

uiautomator가 동작했던 노트북의 sdk 설치현황

 

 

 

경로는 SDK가 설치된 폴더로 가서 sdk\platform-tools 이 경로에 붙여넣기 해야한다.

단 혹시 모르니 기존 adb.exe 파일은 백업해놓고 하는 것이 좋다

 

바로 이 26.0.2 버전의 adb 파일을 붙여 넣어 해결이 되었다.. 확장자를 바꾼거라 압축을 풀지 않고 .zip > .exe 로 바꿔주어야 한다. 귀중한 파일이기에 첨부

 

adb.zip
1.47MB

 

추정원인

adb 버전이 문제인 것 같다. 구글링 했을 때도 adb 버전을 낮추라는 의견이 있었는데 "귀찮아서" 다른 해결책들만 주구장창 해봤는데 결국 adb 이놈이 문제인 것 같다.

 

노트북의 Android SDK PlatformTools 버전은 26.0.2
데스크탑의 Android SDK PlatformTools 버전은 28.0.2

데스크탑의 Android SDK PlatformTools 버전이 더 높았다. 결국 버전을 낮추는게 해결책이었던 것 같다.

 

현재 데스크탑 SDK 설치 현황

 

이 방법 말곤 해결책이 없는걸까? 그럴리가 없을 것 같은데 아직 패치가 안된건가... 아무튼 해결됐으니..

혹시나 같은 문제를 겪고 있는 외국 유저들을 위해

Replace adb.exe! to Android SDK Platform-Tools 26.0.2 version of adb.exe!


 

 

시도해본 해결책들 - 참고할 필요 없으나 삽질 방지용 기록

구글링을 해봤는데 뭐 uiautomatorviewer.bat 파일을 편집하기도 하고 adb버전을 낮추라는 둥? 답변이 있었는데 그것까진 너무 귀찮았고(이걸 진작에 해봤어야 했는데..)

고민해본 결과 아무래도 안드로이드 9.0 파이에 대한 무언가가 설치가 안됐을 거라는 결론에 도달

안드로이드 스튜디오를 켜고 SDK 매니저를 열어서, 일단 안드로이드 9가 API 28버전이기 때문에 SDK 플랫폼에서 28버전을 설치해보았다

Android API 28 체크 후 Apply
설치

설치가 끝나고 다시 uiautomatorviewer를 실행 후 디바이스 스크린샷을 시도했지만 실.패.

(지금 생각해보니 이 때 안드로이드 스튜디오를 끄지 않았었는데 이것 때문일까 라는 생각이 든다)

그래서 뭐 또 설치 안한게 있나 살펴보다가 SDK Tools 탭에서 Android SDK Build-Tools 29-rc2 라는 놈이 있었는데

Android SDK Build-Tools 29-rc2 업데이트가 가능하다고 떠있다

 

 

Show Package Details를 클릭해보니 좌르륵 뜬다

여기서 살펴보니 28 버전 설치되어 있는게 아무 것도 없었다

 

그래서 가장 최신 28.0.3을 설치해주었다

28.0.3 체크 후 Apply

 

중간에 뭐 이런게 떴는데 걍 Next 해서 설치 완료

 

그리고 다시 해보니 스크린 샷이 떴다..?? 뭐지 그런데 다시 재시도 하니까 재발..

 

 

이건 아니다 싶어 다시 검색해본 결과  HXAM 얘가 유력한 원인인 것 같았다.

 

Hyper-V를 끄라는 답변이 많았다

그래서 끄려고 봤는데 없다..? 윈도우7이라 그런가 데스크탑에 뜨질 않는다. 아무래도 내 컴이 해킹을 당한건가... 온갖 문제는 다 생기는 것 같다.

 

그래서 저걸 끄는 방법을 또 구글링...

https://github.com/intel/haxm/wiki/Installation-Instructions-on-Windows

 

intel/haxm

Intel® Hardware Accelerated Execution Manager (Intel® HAXM) - intel/haxm

github.com

여기 들어가보니 커맨드 라인으로 끄는 법이 있었다

To verify that Intel HAXM is running, open a Command Prompt window with administrator privileges (Run as Administrator) and execute the following command:

sc query intelhaxm

If Intel HAXM is working, the command will show a status message indicating that the state is: "4 RUNNING".

To stop or start Intel HAXM, use these commands:

Stop:

sc stop intelhaxm

Start:

sc start intelhaxm

따라해보니 성공적으로 되었다.

 

이젠 되겠지..? 다시 uiautomatorviewer를 실행해서 캡쳐를 해보았는데 또 실패...

 

하....

이후로 sdk 재설치.. 안드로이드 스튜디오 재설치... SDK Tools 에서 intelHXAM intaller 재설치...

이걸로 이틀을 날렸다.. 그러다 3일 째 adb 버전 낮추라는 말이 번뜩 생각나서 노트북에 있는 adb.exe 파일 복사해서 데스크탑에 붙여넣었더니 해결...

 

증말...

 

+ Recent posts