Skip to content

Javah

Synopsis

기본형은 아래와 같다. 참고적으로 클래스를 인자로 넘길 경우 파일 경로가 아닌, 클래스 경로를 입력한다.

$ javah [OPTION] [CLASS] [CLASS] ...

Example

your.practice.android.jni.String 클래스를 넘길 경우 아래와 같이 넘기면 된다.

javah your.practice.android.jni.String

Options

-classpath [PATH]
클래스파일(.class)을 불러올 경로를 설정한다.
-o [FILE]
옵션을 사용하면 출력파일을 설정할 수 있다.
-jni
JNI 스타일 헤더파일을 출력한다. (default)

Java class 기본형

아래와 같이 클래스를 작성하면 된다.

package android.jni

// 공유 라이브러리를 로드하고 함수를 호출할 메서드 선언해야 한다.
public class JniTestClass
{
    // 라이브러리를 로드한다.
    // prefix: lib와 suffix: .so 는 제외한 파일이름을 적는다.
    // ex) LibraryFile를 적을 경우 libLibraryFile.so 파일을 불러온다.
    static {
        System.loadLibrary("LibraryFile");
    }

    // 호출할 메서드를 선언한다.
    // native를 접근지정자 뒤에 붙인다.
    public native String getJniTestString();
}

See also