文档章节

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

乐搏学院
 乐搏学院
发布于 2016/11/15 14:51
字数 281
阅读 14
收藏 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

© 著作权归作者所有

共有 人打赏支持
乐搏学院
粉丝 7
博文 526
码字总数 707467
作品 0
丰台
程序员

暂无文章

django rest framework 外键序列化方法与问题总结

django rest framework 外键序列化方法与问题总结 当借口中需要出现一对多关系的时候,我们可以用rest_framwork的序列化功能来处理,代码如下. # models.pyfrom django.db import modelscl...

_Change_
昨天
1
0
SingleNumber136 leetCode

Given a non-empty array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you im......

woshixin
昨天
1
0
String ,  StringBuffer ,  StringBuilder的区别

String , StringBuffer , StringBuilder的区别 String 首先,String 是用来表示一个字符串常量的,它是一个不可变对象,意味着,一旦我们创建了某个字符串之后,就不能再改变它的值了,我们可...

tsmyk0715
昨天
3
0
区块链100讲:UTXO 和 Account 模型对比

在当前区块链世界中,主要有两种记录保存方式,UTXO 模式(Unspent Transaction Output) 和 Account 模式。Bitcoin 采用的是 UTXO 模型,Ethereum 采用的 Account 模型,同样 CITA 也采用了 ...

HiBlock
昨天
1
0
Vue中路由管理器Vue Router使用介绍(三)

一、路由定义添加动态参数定义 1.路由定义项,使用:xx 方式 定义动态参数 { path:'/user/:id/:name', name:'user', component:()=>import('./views/User.vue') ...

tianma3798
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部