Android studio 打包jar包

  在Android前期的开发时,我们使用的IDE工具大多是Eclipse,所以对其熟练度相信大家都是OK的,所以对于如何将一个项目导出为jar包,供其它项目使用的操作都是没问题的。
  那么现在问题来了,谷歌新提供的Android Studio工具,也都已经update到2.x版本了,到目前为止,不知道有多少人懂得对module进行打包?至少在我写下这篇文字之前,我都只关心写代码!
  现在,个人实际写了个Demo来证明自己研究过,并且得到了想要的结果。
GitHub地址:点击我可获得Demo

  现在创建一个项目为MakeJarDemo,并New Module为common,项目结构如下图:
项目结构图
其中,app 为主工程,common是要将其打包成jar包的module
步骤1:实现依赖
可在app module中的build.gradle中编写

compile project(':common')

实现app module对common module的依赖,完整代码如下:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'
    compile project(':common')
}

也可以通过下图步骤实现:
这里写图片描述

这里写图片描述

步骤1:在Module中编写task
在我们编译完工程之后,对应module中的所有java文件都已经生成了包含class 的classes.jar包,所在目录如下图:
这里写图片描述
  由于要打包的是common module,所以在common的build.gradle中增加如下代码:

//Copy类型
task makeJar(type: Copy) {
    //删除存在的
    delete 'build/libs/mysdk.jar'
    //设置拷贝的文件
    from('build/intermediates/bundles/release/')
    //打进jar包后的文件目录
    into('build/libs/')
    //将classes.jar放入build/libs/目录下
    //include ,exclude参数来设置过滤
    //(我们只关心classes.jar这个文件)
    include('classes.jar')
    //重命名
    rename ('classes.jar', 'mysdk.jar')
}

makeJar.dependsOn(build)
//在终端执行生成JAR包
// gradlew makeJar

  该task实现将对应的classes.jar 导出到对应Module的build/libs/下,并修改名字为mysdk.jar ( 名字随意)。
  在完成以上步骤后,在android studio 提供的Terminal中键入 gradlew makeJar 回车看到如下所示就表示导出成功:

:commonutils:assembleReleaseUnitTest
:commonutils:testReleaseUnitTest                                     
:commonutils:test
:commonutils:check
:commonutils:build
:commonutils:makeJar

BUILD SUCCESSFUL

Total time: 29.936 secs
D:\Developer\WorkspaceLocal\MakeJar>

其中打包出来的mysdk.jar所在目录如下图:
这里写图片描述

  再此,一个可以提供给其他项目使用的jar包就实现了,那么在其他项目中的引用,只需把该jar包放在对应module中的libs中,并添加依赖即可使用。
声明:打出来的jar只有源代码的.class 文件,不包含资源文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值