安卓studio打包jar并合并第三方jar包

最近碰到要给客户提供SDK,但是公司的业务有些需要用到一些地方jar包,所以需要将第三方jar包一起打包。

本次将为大家介绍两种方法打包

一、使用makeJar 打包jar

在build.gradle文件中添加


jar {  //设置jar包的运行入口也就是main方法所在的类(如果有Main方法,如果不需要运行入口则无需设置)
  manifest {
    attributes 'Main-Class': 'com.wea.test.StrConvertExcelMain'
  }
}
 
task makeJar(type: Copy) {
//删除存在的
  delete'build/libs/string2Excel.jar'
  //设置拷贝的文件
  from('build/intermediates/classes/debug/')
  from fileTree(dir: 'src/main')
  include('classes.jar')
//打进jar包后的文件目录
  into('build/libs/')
//重命名
 
  rename('classes.jar','string2Excel.jar')
 
}
//
makeJar.dependsOn(build)
sourceCompatibility = "1.7"
targetCompatibility = "1.7"

使用makeJar 打包不能将所依赖的jar合并打包所以我们要使用工ant工具(Ant下载)将所依赖的jar和打包出来的jar合并成一个新的jar包。ant使用方法(配置方法自行度娘哈): 

 1编写执行文件 build.xml

<?xml version="1.0" encoding="utf-8"?>
<project
    name="test"
    basedir="F:\mergejar"   //文件目录
    default="makeSuperJar" >
 
    <target
        name="makeSuperJar"
        description="description" >
        //生成的jar名字
        <jar destfile="test1.jar" >
        //需要合并的jar
        <zipfileset src="afinal_0.5.1_bin.jar" />
        <zipfileset src="imageloader.jar" />
        <zipfileset src="UPPayAssistEx.jar" />
         <zipfileset src="UPPayPluginExPro.jar" />
        </jar>
    </target>
 
</project>

 2 执行 ant -buildfile F:\mergejar\build.xml

二、使用 shadowJar打包

使用shadowJar进行打包jar我们需要用到一个第三方的插件,在build.gradle文件中加入

apply plugin: 'java'
apply plugin: 'com.github.johnrengelman.shadow'
shadowJar{
  manifest{  //main方法所在的类
    attributes 'Main-Class': 'com.szfcar.clouddiagapp.db.convert.StrConvertExcelMain'
  }
  //名字 版本
  baseName='StrConvertExcelMain'
  classifier=null
  version='V1.0'
}

 

dependencies {
  classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.0'
}

 重新编译在gradle任务栏中会多shadow 的task

我们双击shadowJar即可生成包含依赖了第三方jar包的Jar包

文章到此,希望对大家有用

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值