用android studio打包可以独立运行的jar包

之前提供jar的方式很直接暴力,运行后直接在module的build/intermediates/bundles/相应用渠道环境目录下就可以找到class.jar包,直接改名。当然也可能通过在build文件中创建相关task来创建jar包(这里不多描述了)。但这样打的jar包不能独立运行了。

可以独立运行的jar包,解压后有清单文件,即META-INF/MANIFEST.MF,且在清单文件中有指定Main-Class

(注:上面的module是android library,后面我们测试的都是java library,上面第一种方法的jar包中没有清单文件,但不影响功能,而第二种方式有清单文件,但没有指定Main-Class)

先创建工程,接着创建java library,然后通过module settings设置为主app module的module dependencies


然后编译后在module/build/lib下就会生成jar包了

指定Main-Class的方法有两种

1、自已打包进去

将jar包解压后,在清单文件中添加

Main-Class: your.mainclassname

接着在主目录下通过命令行重新打包即可

jar -cvmf META-INF\MANIFEST.MF name.jar com
name.jar 为jar包名,com为最外层包名

2、通过module的build文件中直接配置

jar {
    //项目名,也是生成的jar的名字
    baseName = "libdemo"
    //项目版本号,这部分内容会写进manifest
    version = "1.0"
    //项目的manifest定义,其中就包含最关键的入口类定义
    manifest { attributes 'Main-Class': 'com.your.main.class.name' }
}
编译后生成的jar包即可独立运行了

java -jar your.jar




题外话……倒霉的一个早上,心情不好

想把昨晚写的博客发布出去,结果网页跳转不过去,然后在草稿箱里也没有找到,调整的心情又回到谷地,本来想就这样的,不想写了,但回头想了一下,这样之前的整理不就更浪费了,好在这次写的东西不多,耐着性子总算写了出来。

最后希望大家借鉴一下吧,要养成备份,多点保存草稿的习惯,要不然看着自已码的字就这么没了,伤心情。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值