본문 바로가기

프로그래밍/Android Studio 설정

[NDK] External tool javah 스크립트 만들기

많은 블로그에서 javah 생성 스크립트를 만들때 parameter 필드를 -classpath $Classpath$ -v -jni $FileClass$ 로 지정하는 것을 봤다.


jni용 java header를 생성하는 명령어는 


javah -jni [경로] [class이름]


이렇게 구성된다.


여기서 [경로]가 Android studio의 Tool-External Tools의 Parameters에 해당된다.

그럼 알아야 할 것은 


1. class파일이 어디에 생성되는지

2. class파일의 루트는 어딘지(패키지명을 포함하는 마지막 위치)


나의 경우에는 다음과 같이 지정해 줬다.


-classpath $ModuleFileDir$\build\intermediates\classes\debug -v -jni $FileClass$


이걸 풀어보면

"C:\Program Files\Java\jdk1.8.0_65\bin\javah.exe" -classpath D:\world\Projects\ToyJNI\app\build\intermediates\classes\debug -v -jni com.sun.toy.jni.NativeMethod


가 되는데


주황색이 아래 사진의 Program의 경로가 되는것이고

회색이 아래 사진의 Parameters가 되는 것이다.


Working directory는 파일의 생성 위치다.