개발/소프트웨어 개발 정리

[Android] NDK에서 java method를 호출할 때 type에 대한 정리

로 얄 2017. 2. 23. 23:55
반응형

이 부분도 한동안 안쓰면 자주 잊어버리는 부분이라 정리해 둡니다.


Signature

Java Type 

boolean 

byte 

char 

short 

int 

long 

float 

double 

L fully-qualified-class 

fully-qualified-class 

ex) Ljava/lang/String

String 

[ type 

type[] 

( arg-types ) ret-type 

method type 


sample code

java method


static long normalMethod(String str, int[] intArray, boolean b);


NDK (jni)


JNIEXPORT void JNICALL

Java_com_test_nativeMethod(JNIEnv *env, jobject obj)

{

    class cls = (*env)->GetObjectClass(env, obj);

    jmethodID mid = (*env)->GetStaticMethodID(env, cls, "normalMethod", "(Ljava/lang/String[IZ)J");

    ....

}

반응형