android studio怎么添加.so文件
Android studio中正确引入so文件的方法:
其实很简单。这里以集成JPUSH为例,看一下so文件如何引入到编译环境,最终到JNI直接可以调用该so文件。
1.首先,在的Module的根目录中建立libs目录,将jpush集成SDK中的so文件分别拷入。
2.然后就是编写的build.gradle文件。
关于so文件引入的配置很简单,代码配置。
[html] view plain copy print?
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)
}
3.自定义一个任务,在其中指定项目所依赖的so文件的目录,这里用了**/*.so来写,为了省事,指定需要拷入的目录 into "lib",那么动态运行库就被拷入到lib目录中。
完整的build.gradle文件。
[html] view plain copy print?
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')
}
2016-03-12 · 知道合伙人数码行家
知道合伙人数码行家
向TA提问 私信TA
在main的文件下进行创建一个jnilibs,然后选中main的文件,进行右键,弹出框中点击“new”,移动下一级菜单中选择“directory”。
对创建的文件夹进行昵称,在昵称中进行输入“jnilibs”,然后点击“ok”。
这样在main的文件中创建一个为jnilibs的文件夹。
然后在jinlibs中文件进行添加so的文件,进入到so文件存放的文件中,直接把so的文件拖动到jinlibs的文件中。
拖动完成之后,会提示一个确认款提示信息,直接点击“ok”即可。
在non-project file access中第一个我希望编辑文件,第二个为我想在当前会话中编辑任何非项目文件,根据的自己需要进行选择,可以默认即可,点击ok。
这样就把so文件添加到jnilibs的文件中,这样的话程序的代码就可以进行调用其中方法。
2016-03-23 · 做真实的自己 用良心做教育
导入步骤:
1. 右键app目录,find path,即打开app目录。
2. 在libs目录下新建文件夹,名字为 armeabi,注意名字不能改。
3. 将jar复制到libs目录下。
4.将.so库文件复制到armeabi目录下即可。