概述
在翻阅了整个度娘都没有找到一个好的办法在AS平台上打包jar,可能是本人比较笨比较复杂的逻辑看不懂,从事SDK开发对于打包jar包是一个必不可少的技能,这里荐一个自己平时比较常用的用gradle打包jar的方法
在app的build.gradle中的最外层目录中加入如下代码,代码有详细的注释应该能够看得懂
def jarVersion = "xxxxx"
task generateJar(type: Jar, dependsOn: ['build']) {
archiveName = "yyyyy${jarVersion}.jar" //打包后的jar包名
//打包的资源路径
from('build/intermediates/javac/release/compileReleaseJavaWithJavac/classes')
destinationDir = file('release') //打包后jar文件的存放路径
//添加一些忽略文件
exclude('android')
exclude('androidx')
//忽略掉全部BuiuldConfig文件
exclude('**/BuildConfig.class')
exclude('**/BuildConfig\$*.class')
//忽略掉全部R文件
exclude('**/R.class')
exclude('**/R\$*.class')
manifest {
attributes(
'Implementation-Title': "${project.name}",
'Version': jarVersion,
'Built-Date': new Date().getDateTimeString(),
'Built-With':
"gradle-${project.getGradle().getGradleVersion()},groovy-${GroovySystem.getVersion()}",
'Created-By':
'Java' + System.getProperty('java.version') + '(' + System.getProperty('java.vendor') + ')',
)
}
}
最后在AS右侧的gradle中选中我们build.gradle中配置过以上信息的module->Task->other->generateJar双击就可以执行j打包jar命令了。