Android JNI demo编译遇到的错误
mm编译模块的过程中出现如下的错误:
1、提示undefined reference
ndk/sources/android/cpufeatures/cpu-features.c:475: error: undefined reference to 'dlerror'
ndk/sources/android/cpufeatures/cpu-features.c:476: error: undefined reference to 'dlopen'
ndk/sources/android/cpufeatures/cpu-features.c:484: error: undefined reference to 'dlsym'
ndk/sources/android/cpufeatures/cpu-features.c:491: error: undefined reference to 'dlclose'
Resolved:
在jni/Android.mk里添加,
LOCAL_LDLIBS :=-ldl
再次编译pass
2、提示error: too few arguments to function
jni下面如果是c++文件就用env->,若用的c文件,则用(*env)->,而且引用的函数里要多加一个参数env,不然会报错,vm指针的话类似。比如: error: too few arguments to function ‘(*env)->FindClass,在下文8中clazz = (*env)->FindClass(env,className)
参考文章:
http://www.cnblogs.com/li-daphne/archive/2013/05/11/3073377.html
http://blog.youkuaiyun.com/shareyao/article/details/5362642