안드로이드 자바 java.lang.UnsatisfiedLinkError: dlopen failed: library "xxx.so" not found 해결 방법
모바일 하이브리드 앱 개발 중 빌드 후 휴대폰에서는 잘 동작하나, 안드로이드 에뮬레이터 상에서는 동작하지 않는 이슈가 발생하여 한참을 삽질한 결과 해결 방법을 찾아냈다. 에러 로그 전문 서드파티 so 파일을 찾을 수 없어 발생하는 에러였다. 개발중인 하이브리드 앱에는 서드파티 so 라이브러리가 내장되는데, arm64-v8a, armeabi, arm64-v7a 이 3가지 ABI 형태의 so 파일이 사용되고 있다. 휴대폰의 ABI는 arm64-v7a 였으나, 안드로이드 에뮬레이터는 x86_64로 확인되었다. 구글링 끝에 ndk 빌드 시 ABI를 지정해줌으로써 에뮬레이터에서도 돌아가는 것을 확인할 수 있었다. App 수준 build.gradle에 ndk 관련 옵션 추가 후 재빌드 및 실행 android { d..
2023.08.17