在生成的so文件中,方法的全名为 java+包名+函数名 ,例如
int Java_qxt_test1_JNIServer_sayHello(JNIEnv * env , jobject obj, int a)
qxt_test1就是包名,在新工程里调用so文件时,如果新建类时包名没有更改成so文件的一样,就出现找不到so文件的错误。因为调用时也是包名加方法名去调用的。
所以
package的包名要和so文件中的一样,这样就不会出现找不到包名的情况了。
下面说下引入so文件的步骤,十分简单(我用的是android studio 2.2.1)
1.
在这个文件中添加
新建jniLibs文件,放入so文件。
新建
类,包名和so文件的一样,然后在JNIServer中,
sayhello就是你要调用的方法。然后在其他类中就可以调用了。