相信很多朋友在使用Android工作室开发中,遇到过如何引入第三方因此文件的问题,然而第三方官方仅仅给出了ADT环境下的集成方式。
Android工作室中默认使用的是gradle编译方式,与ADT编辑方式不一样,那么所以文件应当如何引入呢?
其实很简单。这里以集成JPUSH为例,看一下所以文件如何引入到编译环境,最终到JNI直接可以调用该所以文件。
首先,在我们的模块的根目录中建立填词目录,将jpush集成SDK中这样的文件分别拷入,截图如下:
然后就是编写我们的构建。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工作室中正确引入所以文件的方法