본문 바로가기

소프트웨어/Android/Java/Ndk

Android] android NDK

Java 환경에서는 c/cpp을 사용하기위해 JNI(Java Native Interface)를 지원한다.

(c/cpp/c#에서 dll로 불러오는것과 비슷하다)


Android에서도 NDK(Native Development Kit)를 통해 JNI를 지원한다.


1. NDK Download

http://developer.android.com/tools/sdk/ndk/index.html

Android NDK page에서 각자 os에 맞는 버전을 받는다


2. 환경변수 설정

ANDROID_NDK로 압축 푼 폴더를 지정해준다.


리눅스에서는 

$ vi ~/.bashrc   로 파일을 열고

맨 아라애

export PATH=${PATH}:/home....압축푼 경로.../android-ndk-r10      <= ndk는 받은 버전에 맞게..

로 지정을 하고 저장 종료한다(esc + wq!)

$ source ~/.bashrc

로 변경사항을 저장한다.


3. Cygwin 다운로드

윈도우 환경에서 리눅스를 사용하지 않고 크로스컴파일(win:intel => android-linux:arm)을 하기 위해서는

Cygwin이 필요하다.

http://cygwin.com/install.html

에서 32bit/64bit에 맞춰서 다운을 받는다.

다운로드가 시작되면 미러링 서버를 지정한다. 아무거나 해도 상관없다. 작년에는 daum 미러링 서버가 

있던걸로 기억하는데 없어졌나보다. 그냥 kernel.org에서 받았다.

그 후 카테고리에서 선택할 항목을 설치해야한다.


Devel에서는 

gcc-core   => c컴파일러

gcc-g++    => cpp컴파일러

make         => Makefile에 지정한 동작 수행을 위한 make


Editor에서는

gvim         

vim      

을 받는다.(vim만 받아도 될 것 같긴한데..)


3.1 환경설정

ndk사용을 위해서 jdk와 ndk path설정을 해줘야한다.

$ vi /home/유저네임/.bashrc

로 .bashrc를 열고 가장 아래에 

export PATH=$PATH:/cygdrive/c/program\ Files/Java/jdk1.8.0_11/bin  <==jdk버전은 알아서..

export PATH=$PATH:/cygdrive/c/NDK를 받은PATH/android-ndk-r10    <=ndk버전은 알아서..


4. Build

이미 작성된 JNI 프로젝트가 있다면 폴더로 찾아서 ndk-build만 치면 된다.



NDK로 프로젝트 작성하기

http://mantdu.tistory.com/entry/Android-NDK-Project