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

论坛 期权论坛 脚本     
匿名技术用户   2021-1-5 04:12   1321   0

最近碰到要给客户提供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包

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

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP