티스토리 뷰
Android에서 JNI를 이용하여 C 또는 C++ 코드를 사용해야 할 경우 연동 방법입니다.
해야할일
1. 리눅스 컴파일 환경 구축
2. Android SDK, NDK 다운로드
3. 환경 설정 등록 : ~/.bashrc 에 Path 및 선언 추가
- ANDROID_NDK_ROOT, ANDROID_SDK_ROOT, TOOLCHAIN, CC
4. make-standalone-toolchain.sh 을 이용해서 toolchain 생성
5. 생성된 toolchain을 이용하여 armlinux 용 빌드 (so 파일 생성)
6. Android 에서 사용하기 위한 JNI Wrapper Class 빌드
- 기존 so 파일을 포함하는 Wrapper Class, Android.mk, Application.mk 작성 필요
- ndk-build 시 Wrapper Class 소스 파일은 직접 작성하던지 SWIG을 이용
7. ndk-build 후 생성된 libs, obj, src 폴더를 안드로이드 프로젝트에 반영
- src의 java 파일에 로드되어야 하는 so 파일들을 가장 낮은 순서대로
모두 loadLibrary 호출 해주어야 함
8. Java의 경우 string을 파라메터로 넘길경우 수정이 불가능하므로 c++에서 올려줄 경우에는 JNI Wrapper Class에서 Return으로 올려주도록 처리
'개발 > Android' 카테고리의 다른 글
Android jni 에서 mbstowcs 사용 시 주의할 점... (0) | 2016.12.15 |
---|---|
누가버전에서 DT_NEEDED 오류창이 뜰 경우... (0) | 2016.11.10 |
JNI String 파라메터 내용 변경하기 (0) | 2016.09.21 |