안드로이드 개발 질문/답변
(글 수 45,052)
jdk 빌드로 생성된 so파일을 System.Load로 로딩하려고 합니다만, abi마다 각각 생성이 되지 않습니까?
그럼 디바이스의 abi에 맞게 로딩을 해줘야 하는데, 현재 디바이스가 지원하는 abi를 어떻게 알아내는지 모르겠습니다.
고수님들의 답변 꼭 부탁드려요.
jdk 빌드로 생성된 so파일을 System.Load로 로딩하려고 합니다만, abi마다 각각 생성이 되지 않습니까?
그럼 디바이스의 abi에 맞게 로딩을 해줘야 하는데, 현재 디바이스가 지원하는 abi를 어떻게 알아내는지 모르겠습니다.
고수님들의 답변 꼭 부탁드려요.
Application.mk에
APP_ABI := armeabi armeabi-v7a 이런 식으로
설정하시면 따로 골라서 꺼내 올 필요 없이
ndk-build할때 자동으로 각각의 ABI에 대해 컴파일 됩니다.
물론 꺼내올때도 시스템에서 알아서 구분해서 꺼내 옵니다.
옵션 주고 컴파일만 제대로 하시면 신경 쓰실 필요 없는 문제입니다.
디바이스 abi를 가져오려면 Build.CPU_ABI, Build.CPU_ABI2에 해당 정보가 들어 있습니다.