강몬드의 프로그래밍 이야기

System.load() 와 System.loadlibrary() 차이점 본문

프로그래밍/안드로이드

System.load() 와 System.loadlibrary() 차이점

강몬드 2015. 4. 30. 15:05

Java Native Interface(JNI)  

JNI는 자바와 C/C++ 프로그래밍 언어로 개발된 모듈 간의 인터페이스 역할을 하고, 

각각의 프로그래밍 언어에서 다른 언어를 통해 개발이 가능하도록 해준다. 

JNI를 이용하여 네이티브 메소드(Native Method)를 사용하려면, 

반드시 사용 전 호출이 필요한 함수가 있다. 


1. System.load() 함수와 System.loadlibrary() 함수. 

즉, JNI를 이용해서 네이티브 메소드를 사용하려면 2개의 함수("System.load()" 또는 "System.loadlibrary()") 중 하나를 사용해야 한다.

두 함수의 차이점은 함수에 넘겨주는 인자에 있다. 

2. System.load() 함수 

System.load() 의 경우 반드시! 절대 경로를 지정 해 주어야 하며, 

1
System.load("c:\\temp\\jni_temp");

3. System.loadlibrary() 함수

System.loadlibrary()의 경우 환경변수로써 path가 지정된 경로에 해당하는 dll 파일을 카피 해 두고 사용해야 한다.

1
System.loadlibrary("jni_temp");



출처 : http://yangyag.tistory.com/74

'프로그래밍 > 안드로이드' 카테고리의 다른 글

안드로이드는 리눅스 기반이다?!  (1) 2015.06.18
Comments