详解Android工作室中正确引入所以文件的方法

  

相信很多朋友在使用Android工作室开发中,遇到过如何引入第三方因此文件的问题,然而第三方官方仅仅给出了ADT环境下的集成方式。
  Android工作室中默认使用的是gradle编译方式,与ADT编辑方式不一样,那么所以文件应当如何引入呢?

  

其实很简单。这里以集成JPUSH为例,看一下所以文件如何引入到编译环境,最终到JNI直接可以调用该所以文件。

  

首先,在我们的模块的根目录中建立填词目录,将jpush集成SDK中这样的文件分别拷入,截图如下:

  

详解Android工作室中正确引入所以文件的方法

  

然后就是编写我们的构建。gradle文件。
  

  

关于所以文件引入的配置很简单,代码配置如下:

        任务nativeLibsToJar(类型:邮政、描述:“创建一个jar存档的原生填词”){   destinationDir文件(“$/libs管理扫描”)   :“Native_Libs2”   扩展“罐子”   从fileTree (dir:“填词”,包括:“* */* . so”)   为“自由”   }      tasks.withType (JavaCompile) {   compileTask→compileTask.dependsOn (nativeLibsToJar)   }   之前      

自定义一个任务,在其中指定项目所依赖的所以文件的目录,这里用了* */*。这样来写,为了省事,指定需要拷入的目录到“自由”,那么动态运行库就被拷入到自由目录中。
  

  

完整的构建。gradle文件如下:
  

        应用插件:“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 {   释放{   runProguard假   proguardFiles getDefaultProguardFile (“proguard-android.txt”)、“proguard-rules.pro”   }   }      任务nativeLibsToJar(类型:邮政、描述:“创建一个jar存档的原生填词”){   destinationDir文件(“$/libs管理扫描”)   :“Native_Libs2”   扩展“罐子”   从fileTree (dir:“填词”,包括:“* */* . so”)   为“自由”   }      tasks.withType (JavaCompile) {   compileTask→compileTask.dependsOn (nativeLibsToJar)   }   }      依赖关系{   编译fileTree (dir:“库”,包括:[' * . jar '])   编译“com.android.support: appcompat-v7:21.0.0”   编译文件(“libs/jpush-sdk-release1.7.2.jar”)   编译文件(“libs/umeng_sdk.jar”)   编译文件(“libs/libammsdk.jar”)   }   之前      

基于有人在评论区提问,这里补充一下,有一个更为快捷轻快的配置方法
  

  

那就是在构建。gradle配置中,配置如下的信息:
  

        sourceSets {   主要{   jniLibs。srcdir=(“填词”)   }   }      

你的所以包可以放在自由目录下,跟jar包放在同样的目录,如lib/armeabi/libjpush272。所以。
  

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

详解Android工作室中正确引入所以文件的方法