多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Android自助餐之Jni(二)静态导入so文件 - [Android自助餐之Jni二静态导入so文件](#) - [拷贝so文件](#) - [配置buildgrandle](#) - [创建jni对应类](#) - [在需要的地方调用](#) 下载[完整源代码](http://download.csdn.net/detail/xmh19936688/9395111) ### 拷贝so文件 将so文件及其文件夹(armeabi等)复制到libs文件夹 ### 配置build.grandle 在android下添加 ~~~ sourceSets { main { jniLibs.srcDirs = ['libs'] } } ~~~ ### 创建jni对应类 本实例已知c文件内容如下 ~~~ JNIEXPORT jstring JNICALL Java_com_xmh_jni_JniUtil_getResult(JNIEnv *env,jobject obj,jstring value){ char * str; str=(*env)->GetStringUTFChars(env,value,NULL); sprintf(str,"%s-_-%s",str,str); return (*env)->NewStringUTF(env, str); } ~~~ 因此所创建的类完整类名为:com.xmh.jni.JniUtil。文件内容如下 ~~~ public class JniUtil { static { System.loadLibrary("JniLibDemo"); } public native String getResult(String value); } ~~~ ### 在需要的地方调用 ~~~ new JniUtil().getResult("xmh"); ~~~