目录
1.1 新建一个demo项目,并添加 依赖 一个java Module 模块
1.2 Module makejardemolib 的 build.gradle 文件中添加 makejar任务
1.3 Build -> Rebuild Project 项目,在 Module makejardemolib build/lib 目录下生成对应 makejardemolib.jar 文件
1.4 执行makeJar 生成 在上面定义的目录下生成 对应的jar包文件
2.1 Module中依赖一个Okhttp,找到 Okhttp的jar包添加到 模块的lib目录下
2.2 在 makeJar 方法中添加 from(project.zipTree("libs/okhttp-4.1.0.jar"))
Demo Github地址:
正文
1:如何使用AndroidStudio 打jar包
1.1 新建一个demo项目,并添加 依赖 一个java Module 模块
File -> new -> New Module -> 选择 java or Kotlin Library -> next
主模块App 中 build.gradle 中添加依赖
implementation project(path: ':makejardemolib')
1.2 Module makejardemolib 的 build.gradle 文件中添加 makejar任务
/* jar 包名称 */
def jarName = "makejarTest_1.0";
/* 生成jar包的位置 */
def outputLocal = "build";
/* 待打包文件位置 */
def zipFile = file("build/libs/makejardemolib.jar")
task makeJar(type: Jar) {
/* 定义jar包中的主类 */
/* 定义的主类,在cmd中 调用 java -jar xxx xxx xxx 时,定义的这个主类的 main方法会接受 后面的参数 */
manifest.attributes "Main-Class": "com.bianbian.makejardemolib.UseJarTest"
from zipTree(zipFile)
/* 将 assets 目录下文件打进去 */
/* 语法猜测可能是: */
/* 来自于 文件(目录:"xx/xx/path", 包含:['xx/所有文件']) */
from fileTree(dir: "src/main", includes: ['assets/**'])
/* lib 下的jar中的类,打到jar包中 */
/* 来自于 project(下的).压缩包("目录path/xxx.jar")) */
// from(project.zipTree("libs/xxx.jar"))
baseName = jarName
destinationDir = file(outputLocal)
}
makeJar.dependsOn(build)
下面一个图来表示下对应注释