마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

32bit용으로 빌드된 so 파일이요...

0 추천

처음에 UnSatisted....Link에러가 나오면서 경로를 arm64로 잡길래

64비트 cpu를 쓰는구나.. 해서 so파일을 arm64-v8a 폴더에 넣었습니다.

그러니 나오는 문제가 ..

Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/..../file.so" is 32-bit instead of 64-bit

32비트용 so파일이라 갤럭시S6에서 안돌아가는가 봅니다 ...

so파일을 64비트용으로 다시 빌드 하면 좋겠지만

해당 so파일의 원본 코드는 물론 자료 조차 찾을수 없어서..

32비트 so파일을 64비트 cpu가 탑재된 기종에서 사용할 방법이 있을까요?

모나미153 (17,540 포인트) 님이 2016년 1월 25일 질문

1개의 답변

0 추천
 
채택된 답변
해당 so가 arm 용으로 빌드된 것이면, 32bit so도 64bit arm 기기에서 정상적으로 사용가능합니다.

(64bit arm 아키텍쳐가 32bit 하위호환이 됩니다.)
익명사용자 님이 2016년 1월 25일 답변
모나미153님이 2016년 1월 25일 채택됨
그럼.. 위의 so파일은 arm용이 아닌가 보네요 ..?
그럼 방법이 없는건가 ..
32bit 인 기기에서 테스트해보면 arm 용인지 아닌지 알 수 있습니다.
32비트 기기에서는 잘 됐었습니다.
그럼 저 오류는 왜 나는걸까요 ..
arm64폴더 자체를 지우니까 되네요.
감사합니다
...