Android将library打包成jar包和aar包
有时候,我们需要将一个SDK的包,打成一个独立的JAR/AAR提供给别的同事或者第三方使用,这时候,就需要将项目中的某模块进行打包。
经过测试,发现不同的android studion 版本,编译生成的jar包,保存的路径可能都不一样。AS 4.0以下生成的JAR包保存在:build/intermediates/bundles/,本次例子使用的是AS 4.2,打包生成的JAR包位于:build/intermediates/packaged-classes
一 创建 library 项目: 工程(右键)-->new --> Module 创建android library项目,填上你的名称即可,我这里直接叫 mylibrary。
二 添加打包的自定义任务。
在 mylibrary 模块中的 build.gradle添加任务,代码如下:
//task to export contents as jar task exportJar(type: Copy) {
//这个需要根据自己的安卓as的版本,看是否存在 from('build/intermediates/packaged-classes/release/')
//将生成的JAR包拷贝到哪里,我这里直接拷贝到app模块的libs目录下去 into('../app/libs') include('classes.jar') ///Rename the jar rename('classes.jar', 'mylibrary.jar')
}
exportJar.dependsOn(deleteOldJar, build)
这里分享一个小的TIPS:
有时候我们发现,build/intermediates/packaged-classes/release/ 这个路径可能我们生成的时候,发现并不存在。可以执行这样操作让其生成。
在模块mylibrary的gradlek上,依次找到 mylibrary--->build--->clean(删除生成的缓存)--->build(重新build)---》assemble; mylibrary--->other-->assembleDebug-->assembleRelease
这样上面的文件夹就会生成了,当然也要注意,不同的AS版本上面的命令的所在的位置也不一样的。
半斤八两开始写BLOG了
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!