많은 블로그에서 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는 파일의 생성 위치다.
'프로그래밍 > Android Studio 설정' 카테고리의 다른 글
[NDK] javah class not found (0) | 2016.04.18 |
---|---|
[gradle] dex size limit 문제 (0) | 2015.02.13 |
[gradle] google play service 등 메소드 수가 많은 라이브러리 참조시 오류 (6) | 2015.02.13 |