본문 바로가기
프로그래밍/안드로이드

[Android] Mockk 로 테스트 하는 도중 This error occured due to an I/O error during the creation of this agent: 에러 해결법

by dev_gyu 2024. 10. 6.
728x90
testOptions {
    packagingOptions.jniLibs {
        useLegacyPackaging = true
    }
}

테스트 코드를 작성하는 도중 잠시 목업 데이터 설정을 위해 Mockk 을 설정해주었다

분명 코드에 이상이 없었고, 정상적으로 실행되기를 기대했던 찰나 다음과 같은 에러 문구가 발생하였다.

This error occured due to an I/O error during the creation of this agent: java.io.IOException: Unable to dlopen libmockkjvmtiagent.so: dlopen failed: library "libmockkjvmtiagent.so" not found

 

라이브러리를 찾을 수 없다는 문구인데, 분명 버전도 올바르게 설정했고 필요한 라이브러리들을 이미 모두 import 한 상태였다.

그래서 구글을 한참을 뒤지다보니 StackOverFlow 에서도 나와 같은 문제가 발생한 개발자들이 여럿 있었다는 것을 알게 되었고, 이들이 서로 대화하는 내용을 살펴보았다.

 

비록 채택이 된 답변은 없었지만 그 중에서 그나마 좋아요 표시가 많던 한 글이 있었는데..

위의 코드만 Build.gradle 에 추가해주면 된다는 것이었다.

이를 본 나는 '아니, 설마 이것으로 되겠어?' 하는 생각이었지만 따라하는게 오래걸리는 것은 아니기에 코드를 따라 추가해주었다.

testOptions {
    packagingOptions.jniLibs {
        useLegacyPackaging = true
    }
}

 

이것을 테스트 하는 모듈의 Build.gradle.kts 에 추가해주고 실행했더니..

 

잘된다

충돌되는 JNI 라이브러리가 있는건지, 중복된 파일이 있었는지는 모르겠으나 이로 해결되었고 잘 실행되어서 다행인듯하다.

 

728x90