网站建设代理都有哪些,网站首页分辨率做多大的,sap和国家网站做接口,wordpress 本地建站教程AndroidJniDemo1安卓对c进行so文件打包#xff0c;并以jni的形式进行调用项目中的部分app #xff1a; 编译so文件jniDemo: 添加运行so文件开发环境#xff1a;android studio 3.0.1(As3.0以上创建项目#xff0c;选择支持c/c,项目会自动生成需要的配置#xff0c;不需要在…AndroidJniDemo1安卓对c进行so文件打包并以jni的形式进行调用项目中的部分app 编译so文件jniDemo: 添加运行so文件开发环境android studio 3.0.1(As3.0以上创建项目选择支持c/c,项目会自动生成需要的配置不需要在编写cMakeList文件创建后直接运行即可调用cpp里面c文件的内容)配置ndk谷歌官方下载 https://developer.android.google.cn/ndk/downloads/android studio的sdk manager里下载(直接在file——project structure——sdk——ndk 点击download有可能存在文件缺失建议官方下载,在ndk里面配置)打包so把Native方法提取出来在一个类里面专门处理如jniUtil.java运行app,点击工具栏 build-makeapp在app/build/intermediates/cmake/debug下可以看到生成的so文件把他们拷贝出来给JniDemo使用。注意jniUtil里面的包名要和cpp里面c文件的方法名的包名一致一般我们现在jniUtil里面写好方法后点击altenter生成c方法这样不易出错调用jni在jniDemo里面新建文件夹jnilibs,把so文件的几个文件放在里面在gradle配置配置gradlesourceSets.main{jni.srcDirs []jniLibs.srcDir src/main/jniLibs}创建方法类(包名类名要和so里面的一致)在java中创建与上面jniUtil.java相同的包并把jniUtil.java拷到次目录。##备注3.配置动态连接库的名称,在mode的gradle-defaultConfig下增加以下代码ndk {moduleName JNITest //输出的SO文件名称abiFilters armeabi, armeabi-v7a, x86//指定cpu的类型}4.加载动态连接库,在编写native方法类中新增static{System.loadLibrary(native-lib);//名字注意需要跟你的build.gradle ndk节点下面的名字一样}gradle设置so库名defaultConfig {applicationId com.ndk.****minSdkVersion 19targetSdkVersion 26versionCode 1versionName 1.0ndk {moduleName LJPriject //输出的SO文件名称abiFilters armeabi-v7a,x86//指定cpu的类型}}so库名LibrarySystem.loadLibrary导入如果build.gradle ndk没有配置那么要和CMakeLists里面一样Sets the name of the library后面的名字否则出现导入库失败查找不到该库