Android中常见的第三方库(so、jar、aar)区别及打包

 Android中常见的第三方库包括:*.so、*.jar、*.aar,通常来讲.so是C或C++语言的内容打包成的库,因为本项目是java语言,因此此处不探究so。html

1、jarjava

       一、说明安全

 只包含了class文件与清单文件 ,不包含资源文件,如图片等全部res中的文件。eclipse

             JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它容许将许多文件组合成一个压缩文件。布局

 Jar的优势:安全性、减小下载时间、传输平台扩展、包密封、包版本控制、可移植性。字体

            打jar包时,项目里的res文件是用不了的,若想用图片文件,能够将图片文件放进assets文件里面打进jar包再进行调用,但必须注意jar里面assets文件夹里面的文件不能和调用项目里面assets文件夹里面的文件重名。gradle

      二、打jar包方法:ui

            网上方法不少也很详细,再也不赘述,给个连接:http://blog.csdn.net/u013895206/article/details/52692415.net

 三、使用jar方式: 版本控制

            *.jar:拷贝到:libs目录,eclipse直接导入便可,AndroidStudio项目中添加:

                 dependencies { 

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

                 } 

             从新编译一次项目既可完成加载。

2、aar

       一、说明

             Android库项目的二进制归档文件,包含全部资源,class以及res资源文件所有包含。

             将aar解压(后缀改成.zip,再解压文件)打开后,能够看到每一个aar解压后的内容可能不彻底同样,可是都会包含AndroidManifest.xml,classes.jar,res,R.txt。

       二、打aar包方法:

             先把想要打包成sdk的项目作成Android libraries B,不要建成Android project ;

             而后创建一个新的Android project A 去调用写好的libraries B;

              运行后,studio就自动把咱们的librarys B自动打包成aar包了,这就是咱们想要的sdk了(路径:module 下,build/outputs/aar/)

              若是运行后,没在目录下看到 aar,能够按照下图方式执行,执行成功后,就能够在左侧的:build/outputs/aar/ 下看到对应的 aar 文件了:

        三、Android Studio使用aar方式:

              第一步:拷贝到:libs目录 

              第二步:build.gradle 配置文件中更改成 

                     repositories { 

                         flatDir { 

                             dirs'libs' 

                         } 

                     } 

                     dependencies { 

                         compile(name:'genius', ext:'aar')

                     }

3、总结

      一、如何选择?

            若是你只是一个简单的类库那么使用生成的*.jar文件便可;若是你的是一个UI库,包含一些本身写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。

二、由于端内直连Jira提bug,包含UI内容,且只是供Android使用的,同时Android Studio已经被普遍使用(Eclipse使用aar较麻烦,教程:https://www.cnblogs.com/shortboy/p/4424944.html),因此我最终选择了使用.aar做为我们最后的SDK。

相关文章
相关标签/搜索