티스토리 뷰

개발/Android

Android JNI 연동

쿄2 2016. 7. 21. 11:30

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으로 올려주도록 처리 

 

  




공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함