Android(安卓)Studio将lib项目打包成jar和aar
16lz
2021-01-26
1. 打包成jar
1 新建一个lib项目,这个过程都知道,不做介绍
2 在lib项目下新建一个与build.gradle同级的gradle文件,名字随便起。比如 toJar.gradle
3 在toJar.gradle中创建任务列表def jarName = "loadingAni1.0"//Copy类型task makeJar(type: Copy) { //删除存在的 delete 'build/libs/' + jarName + ".jar" //设置拷贝的文件 from("build/intermediates/aar_main_jar/release") //打进jar包后的文件目录,将classes.jar放入build/libs/目录下 into('build/libs/') //要打包的jar文件 include('classes.jar') //重命名 rename('classes.jar', jarName + ".jar")}makeJar.dependsOn(build)
4 执行markJar任务(在Terminal中执行 gradlew makeJar
或者在面板右侧的gradle中找到lib项目-tasks-other-makeJar,双击执行)
2. 引用jar
经过上面几个步骤之后,会在lib项目的build-libs目录下生成一个loadingAni1.0的jar包,将这个jar包拷贝到要引用的项目的libs目录下,这个时候如果你的项目的gradle中有“implementation fileTree(dir: ‘libs’, include: [’*.jar’])”的字样,就可以直接引用jar包中的内容了,如果没有,要么需要添加这段代码,要么在jar包上右键执行Add as library将jar包添加到gradle中。
上面介绍了生成jar包以及引用jar包的方式,接下来介绍一个aar包的生成和引用方式。
3. 打包成aar
aar包的生成相对简单一些主要有两步
1 创建lib项目
2 右侧的grdle面板中找到新建的lib项目,执行build任务
4. 引用aar
执行完成上面两个步骤之后会在lib项目的build-outputs-aar目录下生成release和debug两个aar。将这两个aar中的任何一个拷贝到要使用的项目下的libs目录下,然后稍微配置一下gradle
repositories { flatDir { dirs 'libs' } } implementation(name: 'myloadinganilib-release', ext: 'aar')
之后同步一下就可以引用aar包下的内容了
5. jar包和aar包的区别
jar包只包含class文件,不包含资源文件。
aar包包含class文件和资源文件。
更多相关文章
- 模拟器1.5 :Avd 创建,adb 命令攻略
- Android术语详解
- 加快Android(安卓)Studio的编译速度
- Android(安卓)源码中增加自定义系统服务
- x4412开发板&ibox卡片电脑项目实战5-修改内核LOGO
- Android(安卓)SDK 22.0.1 引用 android-support-v4 的问题
- 拿来主义Android优秀开源项目(二)
- Android中的支付(支付宝)
- Android(安卓)manifest文件中的标签详细介绍