相信很多朋友在使用Android studio开发中,遇到过如何引入第三方so文件的问题,然而第三方官方仅仅给出了ADT环境下的集成方式。
Android studio中默认使用的是gradle编译方式,与ADT编辑方式不一样,那么so文件应当如何引入呢?
其实很简单。这里以集成JPUSH为例,看一下so文件如何引入到编译环境,最终到JNI直接可以调用该so文件。
首先,在我们的Module的根目录中建立libs目录,将jpush集成SDK中的so文件分别拷入,截图如下:
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\')
}
原文地址:http://blog.csdn.net/wulianghuan/article/details/44567001
参考:http://blog.csdn.net/asmcvc/article/details/24457677
参考:http://ph0b.com/android-studio-gradle-and-ndk-integration/
参考:http://www.sxt.cn/u/1/blog/7082