Android中常见的第三方库包括:.so、.jar、.aar,一般来说.so是C或C++语言的内容打包成的库,在此我们不进行讨论。
".jar"
1. 简介
只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件
2. 打包方式
- 普通的打包方式
task makeJar(type: Jar) {
// 删除之前的jar包
delete 'build/libs/myjar'
// jar 包的名字
baseName 'myjar'
// 需要拷贝的文件
from('build/intermediates/classes/release/')
//execlude 去除掉jar包中不需要的文件,一般都R文件和BuildConfig文件我们会去除掉
exclude('com/letv/leeco/mylibrary/BuildConfig.class')
exclude {
it.name.startsWith('R')
}
}
makeJar.dependsOn(build)
生成的jar 包在build-->libs 下
- 打包含另外一个库的jar包(moudle 的形势存在)
// 只需要在原来打包的基础上添加上对应包的classes 路径即可
from('../otherlib/build/intermediates/classes/release/')
jar包的使用方式很简单,相信大家都有了解,再次就不做介绍了
".aar"
1. 简介
Android库项目的二进制归档文件,包含所有资源,class以及res资源文件全部包含。
2. 编译方法
aar 包的编译直接运行build 即可,在build-->Rebuild Project
3. 使用方法
在项目的build.gradle 中配置
android{
...
repositories{
flatDir {
dirs 'libs'
}
}
}
dependencies {
...
compile(name:'mylibrary', ext:'aar')
}
sync build.gradle 即可使用
此处写比较粗略,之后会继续补充,有什么问题希望大家可以一起讨论
android 项目编译官方文档:https://developer.android.com/studio/build/index.html