본문 바로가기

프로그래밍/Android Studio 설정

[NDK] javah class not found

문제

native 예약어로 선언된 함수를 구현하기 위해 header와 c/cpp 파일을 생성할 때 javah가 동작하지 않음



D:\world\Projects\ToyJNI>javah -classpath %ANDROID_HOME%\platforms\android-23\androijar; com.sun.toy.jni.NativeMethod

Error: Could not find class file for 'com.sun.toy.jni.NativeMethod'.


위의 오류가 발생.
발생원인 : class 파일의 경로가 잘못되었다.

수정 1차 :

D:\world\Projects\ToyJNI\app\build\intermediates\classes\debug\com\sun\toy\jni>javah -jni NativeMethod
Error: Could not find class file for 'NativeMethod'

수정 2차 :

D:\world\Projects\ToyJNI\app\build\intermediates\classes\debug>javah -jni com.sun.toy.jni.NativeMethod
Error: Could not find class file for 'com.sun.toy.jni.NativeMethod'.

수정 3차 : 

D:\world\Projects\ToyJNI\app\build\intermediates\classes\debug\com\sun\toy\jni>javah -jni -classpath d:\world\Projects\ToyJNI\app\build\intermediates\classes\debug com.sun.toy.jni.NativeMethod

빌드성공.
classpath 를 전체다 입력해줘야 함