一. aar和jar的区别
这篇文章介绍的很详细: blog.csdn.net/ljx14000525…
我们直接拿结果:
jar文件: 只包含class文件和清单文件,不包含资源文件,比如图片等所有的 res下的资源文件;
aar文件: class以及res下的所有的资源文件全部包含;
一. 生成aar
这篇文章写的很详细
以下个人操作
- 新建Module项目
File → New Module → Android Library
- 编译成aar包
选中要生成aar的Module,点击菜单栏 Build → Make Module ‘项目名’
-
编译完成之后会在Module的build-->outputs-->aar-->xxxxx.aar
-
打releases包 build.gradle中配置了debug和releases两个版本:
buildTypes {
release {
signingConfig signingConfigs.myConfig
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
signingConfig signingConfigs.myConfig
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
方法一:或者右边Gradle -> 找到项目 -> Task -> other -> assembleRelease
方法二:Terminal命令行执行命令
./gradlew :项目名:assemble
二. 生成jar
参考文档:
以下个人操作
- 文章里是项目的gradle文件里添加代码,有些项目封装了global.gradle文件,加到这里没问题,但是我测试项目没有写这个配置,写到项目的build。gradle中报错,我就改成了对应lib项目的build.gradle文件中,build成功
task clearJar(type: Delete) {
delete 'build/outputs/'
}
task makeJar(type: Copy) {
from('build/intermediates/packaged-classes/release/')//jar文件来源
into('build/outputs/') //生成路径
include('classes.jar')
rename('classes.jar','my_test_library.jar') //命名为my_test_library.jar
}
makeJar.dependsOn(clearJar, build)
-
加入代码后build,成功后点击右上角的Gradle按钮,点开对应module → other → makeJar
-
等待任务执行成功后,在build/outputs文件夹下就能找到成功生成的jar文件
-
生成releases-jar: 右边Gradle -> 找到项目 -> Task -> other -> transformClassesAndResourcesWithSyncLibJarsForRelease ,双击运行