!!! Android 개발에 있어 많고 많은 빌드 에러 중 Windows 환경에서 종종 발생하는 에러에 대한 내용입니다 !!!!
Android Studio에서 Test Coverage를 돌릴 경우 발생하는 에러에 대해서 얘기해보려 합니다.
먼저 작성한 코드의 테스트 코드를 작성 후 Run 으로 동작이 잘 됨을 확인한 상태였습니다.
그 후 Run ... with Coverage 동작시 아래와 같은 에러가 발생하더군요.
java.lang.reflect.InvocationTargetException
FATAL ERROR in native method: processing of -javaagent failed
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
구글링을 해보아도 딱히 짐작이 가는 부분이 없습니다.
더 찾아보다보니 아래와 같은 내용이 있더군요.
https://youtrack.jetbrains.com/issue/IDEABKL-5941
안타깝게도 러시아 사용자도 유사한 증상을 겪은 것으로 보이죠.
Temp 경로에 러시아 문자가 들어가면서 발생한 것으로 보고 있고요.
저는 한글 유저명이 문제가 된 것으로 추정할 수 있었습니다.
다시 Android Studio 로 돌아가서 Run 윈도우를 뒤져 실행다시 커맨드를 봅니다.
아 제 환경은 gradle 경로도 미리 D 드라이브로 변경해놓은 상태였습니다.
원인은 Temp 경로가 Windows 환경에서는 사용자 홈으로 잡혀서 생긴 문제로 보입니다.
https://stackoverflow.com/a/29716813
위 글들을 보면 기본으로 사용자 홈이 잡힌 이유는 아래와 같네요.
- Java에서 temp 경로를 Windows 환경에서는 Win32API 인 GetTempPath를 사용함
- GetTempPath에서는 아래의 순서로 경로를 지정함.
- The path specified by the TMP environment variable.
- The path specified by the TEMP environment variable.
- The path specified by the USERPROFILE environment variable.
- The Windows directory.
아무튼 다시 아래 글을 보아 Android Studio에서도 temp 경로를 수정해봅니다.
Help -> Edit Custom VM Option 에서 아래 문구 추가 후 Android Studio 재시작
(studio64.exe.vmoptions)
# custom Android Studio VM options, see https://developer.android.com/studio/intro/studio-config.html
-Djava.io.tmpdir=d:/temp
이제 다시 Run ... with Coverage를 돌려봅니다.
오오 이제 잘 나오네요.
한글 Windows에서 개발은 참 다양한 어려움들이 있는 것 같네요. ^^
'Android개발 > Android Studio' 카테고리의 다른 글
[Android][Studio] 설정 파일 경로 바꾸기 (config, system) (0) | 2020.02.11 |
---|---|
[Android][Studio] Terminal Build 오류시 - FAILURE: Build failed with an exception. (0) | 2020.02.07 |
[Android][Studio] Android SDK 및 gradle 경로 변경 (0) | 2020.02.07 |
Android Studio 에서 gradle sync가 안되는 문제 수정 (0) | 2019.08.27 |