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

안드로이드 libs 폴더의 x86, armeabi-v7a 링크관련 질문입니다.

0 추천

안녕하세요.

현재 안드로이드를 이클립스로 개발하고있고.. 제가 개발하는 프로젝트가

intel이나 arm기반의 제품에 올라가야해서 라이브러리를 x86/arm으로 분류하여 사용하고있습니다.

다만 문제가 되는 부분은 기본적으로 lib아래에 .so파일이 들어갈 때 해당 cpu디렉토리로 구분이되고(ex: armeabi, armeabi-v7a, x86, mips 등..)  library를 사용하기 위해서 코드에서

loadLibrary(“xxxx”) 이런식으로 호출하면 이름(xxxx)과 일치하면서, device의 CPU타입에 따라서 적절한 모듈을 로딩해 준다고 알고있는데 다음과 같이 비정상적으로 로딩이 발생됩니다.

libs안에 armeabi-v7a, x86 2개의 디렉토리가 있을 때   intel에서 x86이 아닌 armeabi-v7a 경로로 로딩

                             x86 만 있을 때는 x86에 로딩..

 

아래의 링크에서 다음과 같은 유사한 현상을 확인하였으나 크게 해결점을 찾지 못하고 있어서

(http://hanburn.tistory.com/159)

혹시 cpu모듈에 따른 라이브러리 링크를 강제적으로 설정할 수 있는 방법을 알고계시는 분.. 답변

부탁드리겠습니다.. (안드로이드 스튜디오에서는 build.gradle 에 설정가능하다고 들었습니다..)

 

pdi1204 (120 포인트) 님이 2016년 1월 20일 질문

1개의 답변

0 추천
cpu type에 따라 apk를 별도로 만들어서 테스트해보세요.

gradle 설정으로 가능합니다.
익명사용자 님이 2016년 1월 20일 답변
이클립스에서도 gradle설정으로 가능한가요?
eclipse라면 apk 빌드 후 수동으로 apk분리해보세요.
...