美文网首页Android开发
Android Studio 将library 打包成 jar

Android Studio 将library 打包成 jar

作者: mm_cuckoo | 来源:发表于2017-05-04 17:02 被阅读446次

应用场景

在实际开发中我们想要把我们依赖的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包吧!

相关文章

网友评论

    本文标题:Android Studio 将library 打包成 jar

    本文链接:https://www.haomeiwen.com/subject/sqldtxtx.html