文档章节

Android Studio:正确引入so文件的方法

乐搏学院
 乐搏学院
发布于 2016/11/15 14:51
字数 281
阅读 76
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

方法一:

 

将libs文件夹下的so文件,通过gradle配置任务编译成jar文件。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

apply plugin: 'com.android.library'

 

android {

    compileSdkVersion rootProject.ext.compileSdkVersion

    buildToolsVersion rootProject.ext.buildToolsVersion

 

    defaultConfig {

        minSdkVersion rootProject.ext.minSdkVersion

        targetSdkVersion rootProject.ext.targetSdkVersion

    }

 

 

    /** 导入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)

    }

 

 

}

 

dependencies {

    provided fileTree(dir: 'libs', include: ['*.jar'])

}

 

参考资料:http://blog.csdn.NET/wulianghuan/article/details/44567001

 

方法二:

通过插件将so文件依赖到jniLibs文件夹。

 

参考资料:http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2015/0804/3256.html

插件/开源项目 :https://github.com/nhachicha/Android-native-dependencies

 

 

方法三:

最佳方法。

1

2

3

4

5

6

7

8

9

10

11

12

android {

    sourceSets.main.jniLibs.srcDirs = ['libs']

 

    compileSdkVersion rootProject.ext.compileSdkVersion

    buildToolsVersion rootProject.ext.buildToolsVersion

 

    defaultConfig {

        minSdkVersion rootProject.ext.minSdkVersion

        targetSdkVersion rootProject.ext.targetSdkVersion

    }

 

}

 

结束语

 

免费学习更多精品课程,登录乐搏学院官网http://h.learnbo.cn/

或关注我们的官方微博微信,还有更多惊喜哦~

 

本文出自 “天空没有痕迹但我飞过” 博客,请务必保留此出处http://glblong.blog.51cto.com/3058613/1694567

乐搏学院
粉丝 8
博文 526
码字总数 707467
作品 0
丰台
程序员
私信 提问
加载中
请先登录后再评论。

暂无文章

插入,在PostgreSQL中重复更新吗? - Insert, on duplicate update in PostgreSQL?

问题: Several months ago I learned from an answer on Stack Overflow how to perform multiple updates at once in MySQL using the following syntax: 几个月前,我从关于堆栈溢出的答案......

技术盛宴
42分钟前
28
0
互联网的寒冬下各大一线互联网公司还在用SpringBoot这是为什么?

引言 现在各大技术社区 Spring Boot 的文章越来越多,Spring Boot 相关的图文、视频教程越来越多,使用 Spring Boot 的互联网公司也越来越多; Java 程序员现在出去面试, Spring Boot 已经成...

北柠Java
44分钟前
8
0
vue+elementui实现简易的列筛选功能实现。

一、简易效果图: 二、需求背景 大家都知道,后管类系统当中,有时一个列表可能有很多列需要展示,如下图所示,但是用户在使用系统的时候,往往会需要针对其中某几列进行数据提取,在展示列比...

一生懸命吧
47分钟前
60
0
批处理问题记录——数字实验bat

记录学习批处理时的问题 批处理为输入一个数字,如果大于等于一百,直接输出输入数字,如果小于一百会重复+1,直到100后输出。 问题是,如果不输入数字,直接空格的话,批处理会出错。 寻求一...

愤怒的乌老大
54分钟前
6
0
算法题汇总

计算两个字符串中的最大的相同字符串

佳幂小煜
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部