一、前言
在平时的开发中我们可能将我们工程中的某些都行抽取出来作为一个共用的模块,为了方便使用我们会将其打成一个Jar包的形式,在Eclipse中我们直接使用export就行了,可是当我们使用AS进行开发的时候却没有这个功能了,在AS中使用的是Gradle的方式进行代码的构建,所以有所区别,gradle采用的是groovy的语言。
二、使用
1.创建构建Task
Gradle执行构建时需要一个build.gradle文件,gradle是基于ANT和Maven的一种新的构建工具,这个配置文件就如Maven使用的pom.xml,在里面我们可以添加项目的依赖和配置等信息。
创建一个任务,在每次构建前先删除之前构建的包:
task cleanJar(type:Delete){
delete('libs/demo.jar') //demo.jar是我们的目标jar
}
接下来我们可以创建一个构建的任务:
task makeJar(type:Jar){
//指定jar的名字
baseName 'demo'
//指定我们需要构建的class的路径
from('/build/intermediates/classes/debug/com/ren/basicstudy/')
//指定class生成的包路径
into('/com/ren/basicstudy/')
//排除我们需要打包的资源,其中it是groovy的关键字
exclude{ it.name.startsWith('R$');}
}
我们将这些task放在我们项目的build.gradle文件中,此时我们可以在控制台执行gradle makeJar生成jar,但是由于网络的原因,一直失败,我们可以采取另外一种方式。
打开AndroidStudio中的gradle侧边栏,我们会看到我们的任务已经存在里面,如下图所示:
双击该指令,我们的程序就会启动构建,但是在构建的过程中,有错误,gradle会提示我们开启对lint检查的屏蔽,我们可以在build.gradle 的android{}中加入如下代码:
lintOptions{
abortOnError false
}
此时,我们的程序就可以正常打包了,我们可以在app/build/libs 目录下看到我们构建生成的demo.jar。
本文参考链接: