一、新建jnilibs目录,或者直接放入libs目录
二、修改build.gradle文件,添加sourceSets jniLibs.srcDirs配置,如果放入libs,那么srcDirs应配置为libs
前两步已经说明如何引简好入so文件,那么如何调用.so文件里面的方法呢?拷贝或新建调用类,注意包名,在类中创拦并铅建相应方法,假设C文件的方法为Java_a_b_c_JniUtils_test,需创建的蔽早类及方法:
首先,在Module的根目录中建立libs目录,将jpush集成SDK中的so文件分别拷入,截图如下:然后就是编写build.gradle文件。关于so文件引入的配置很简单,代码配置如下:task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {destinationDir file("$projectDir/libs")baseName "Native_Libs2"extension "jar"from fileTree(dir: "libs"拿搜, include: "**/*.so")into "lib"}tasks.withType(JavaCompile) {compileTask ->compileTask.dependsOn(nativeLibsToJar)}自定义一个任务,在其中指定项目所依赖的so文件的目录,这里用了**/*.so来写,为了省事,指定需要拷入的目录 into "lib",那么动态哪高运行库就被拷入到lib目录中。完整的build.gradle文件如下:apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { applicationId "com.wujay.footerballstar" minSdkVersion 8 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") { destinationDir file("$projectDir/libs") baseName "Native_Libs2" extension "jar" from fileTree(dir: "libs", include: "**/*.so") into "lib" } tasks.withType(JavaCompile) { compileTask ->compileTask.dependsOn(nativeLibsToJar) } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.0' compile files('libs/jpush-sdk-release1.7.2.jar') compile files('李敏尺libs/umeng_sdk.jar') compile files('libs/libammsdk.jar') }欢迎分享,转载请注明来源:内存溢出
评论列表(0条)