Android Studio导入so文件_Studio添加引入so资源库
2016-04-06 13:08:45  By: dwtedx

相信很多朋友在使用Android studio开发中、遇到过如何引入第三方so文件的问题、然而第三方官方仅仅给出了ADT环境下的集成方式、Android studio中默认使用的是gradle编译方式、与ADT编辑方式不一样、那么so文件应当如何引入呢?

其实很简单、这里以集成新浪微博的so为例、这里提供两种方式、第一种方式是编写我们的build.gradle文件、将所有的so文件编译成一个jar的包、直接引入这个包就好了、此方法非常不错(推荐)、不但可以实现导入so文件的功能、还可以降低so文件的大小、最后实现整个apk的大小压缩、非常不错、第二种方式是直接在项目的目下下的 app/src/main目录下创建一个名叫jniLibs文件夹、将对应的so文件拷贝到该目录下、第二种方法是比较方便的、但不会压缩包的大小


一、编写build.gradle压缩so文件

1、看一下so文件如何引入到编译环境、最终到JNI直接可以调用该so文件、首先、在我们的Module的根目录中建立libs目录、将新浪微博支持包的文件SDK中的so文件分别拷入libs

android studio导入so文件


2、然后就是编写我们的build.gradle文件、关于so文件引入的配置很简单、代码配置如下

task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {  
    destinationDir file("$projectDir/libs")  
    baseName "Native_Sina"  
    extension "jar"  
    from fileTree(dir: "libs", include: "**/*.so")  
    into "lib"  
}  

tasks.withType(JavaCompile) {  
    compileTask -> compileTask.dependsOn(nativeLibsToJar)  
}  


自定义一个任务、在其中指定项目所依赖的so文件的目录、这里用了**/*.so来写、为了省事、指定需要拷入的目录 into "lib"、那么动态运行库就被拷入到lib目录中


二、新建jniLibs文件夹导入

1、需要在项目的目下下的 app/src/main目录下创建一个名叫jniLibs文件夹、将对应的so文件拷贝到该目录下、拷贝后的结构如下图所示

jniLibs导入so


2、然后你就会看到生成的apk文件里面有lib目录了、有了这些so文件了、这种方式是比较简单的、跟Eclipse里面导入方式差不多


相比第一种方式、第二种方法是比较方便的、但不会压缩包的大小、大家可以根据自己需求选择一种你认为合适的方式

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新资讯、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


猜你喜欢的

快速评论


博文评论

  • 该博文还没有评论、赶快抢沙发吧...
DD记账
top
+