Android Studio 将library 打包成 jar

应用场景

在实际开发中我们想要把我们依赖的library 打包成jar 依赖到工程中。废话不多说,马上开始。

library 打包成jar

配置 gradle 文件

将 library 打成jar 非常简单,将下面代码添加到library 中的 build.gradle 文件中。

def SDK_BASENAME = "TestSdk";
def SDK_VERSION = "_V1.0";
def sdkDestinationPath = "build";
def zipFile = file('build/intermediates/bundles/release/classes.jar')

task deleteBuild(type: Delete) {
    delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
}

task makeJar(type: Jar) {
    from zipTree(zipFile)
    from fileTree(dir: 'src/main',includes: ['res/**'])
    baseName = SDK_BASENAME + SDK_VERSION
    destinationDir = file(sdkDestinationPath)
}

makeJar.dependsOn(deleteBuild, build)

说明

  1. sdkDestinationPath : 设置生成的jar包输出的路径
  2. baseName : 生成jar包的名字

注意

  1. 这段代码可以将 library 中的资源文件打到jar 包中,但是像layout 等文件目前还不知道如何引用,网上说不能直接引用,我也试了不可以直接引用。如果有人知道请分享一下大家一起学习一下。
  2. 项目只能是library,而不能是application,也就是说我们的gradle中app plugin应该是:apply plugin: 'com.android.library'

from fileTree(dir: 'src/main',includes: ['res/**']) 这段代码是将 资源文件打入jar 包的代码。

生成jar

  1. 首先打开Android Studio IDE 中的gradle 操作页面
  2. 找到对应 library 名字打开 Tasks
  3. 打开Tasks 找到other 目录,在other 目录下有makejar
  4. 双击 makejar 。message 窗口会提示Information:BUILD SUCCESSFUL

说明
other 目录下的 makejar 是和library 中 gradle 中task makejar 相对应的,makejar 不是固定的。

生成好jar 包后到 sdkDestinationPath 位置去找你的jar包吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,909评论 25 708
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,926评论 6 342
  • 这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险...
    acc8226阅读 7,672评论 3 25
  • 在你们的眼中,也许喜欢热闹的游乐园,也许喜欢波澜壮阔的大海,也许喜欢峰峦雄伟的山峰……但我却喜欢优雅漂亮的小区。...
    洪巍阅读 288评论 0 0