android - UnsatisfiedLinkError when calling C++ method in C++ file from Java file -


it looks popular problem,

and still not find out solution.

package name : app.cloudstringers

java file : completed.java

static {     try {         system.loadlibrary("ffmpeg");     } catch (unsatisfiedlinkerror e) {         log.d("", "error : " + e.tostring());     }  }      // define native method public native int getstring();  @override public void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.page_completed);      // call native method     log.d("", "" + getstring()); 

c++ file : ffmpeg.cpp

#include <jni.h> #include <android/log.h> #include <string.h>  #ifdef __cplusplus extern "c" { #endif  jniexport jstring jnicall java_app_cloudstringers_completed_getstring(jnienv* env, jobject thiz) { jstring strret = env->newstringutf("helloworld jni !"); return strret; }  #ifdef __cplusplus } #endif 

android.mk file

local_path := $(call my-dir) include $(clear_vars) local_module    := ffmpeg local_src_files := ffmpeg.cpp include $(build_shared_library) 

i run application still error exception unsatisfiedlinkerror : getstring

people know how fix problem,

please tell me,

thanks

update follow @dextor answer. sorry because mistake. thing need question change public native int getstring() public native string getstring().

it works now.

not sure (didn't try), wrong thing i've noticed return type of method declarations.

java-side

public native int getstring()

ndk-side

jniexport jstring jnicall java_app_cloudstringers_completed_getstring(jnienv* env, jobject thiz)

in java, have int. on c-side, have jstring.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -