Android-将工程打包成jar

如何将工程的jar打包成jar

在module的build.gralde,加入,此配置是与android标签平级

def _BASENAME = "打包的名字";
def _VERSION = "版本好";
def _DestinationPath = "build"; //生成jar包的位置
def zipFile = file('build/intermediates/packaged-classes/release/classes.jar'); 

task deleteBuild(type:Delete){
    delete _DestinationPath + _BASENAME + _VERSION + ".jar"
}

task makeJar(type:Jar){
    from zipTree(zipFile)
    from fileTree(dir:'src/main',includes:['assets/**']) //将assets目录打入jar包
    from fileTree(dir:'src/main',includes:['AndroidManifest.xml']) //将AndroidManifest文件打入jar包
//    from(project.zipTree("libs/test.jar"))
    baseName = _BASENAME + _VERSION
    destinationDir = file(_DestinationPath)
}

makeJar.dependsOn(deleteBuild, build)

如果只是打包main目录的java文件,只用将

 from fileTree(dir:'src/main',includes:['AndroidManifest.xml']) //将AndroidManifest文件打入jar包

这句话忽略,因为这句话是将清单文件打入jar包所使用的,如果需要压入依赖的jar包,

则加上 from(project.zipTree("libs/test.jar"))

注意点: 

其中可能有个文件路径会无法找到,bundles如果没有则使用packaged-classes,使用前,先进行build一下

def zipFile = file('build/intermediates/bundles/default/classes.jar'); //待打包文件位置

def zipFile = file('build/intermediates/packaged-classes/release/classes.jar');//待打包文件位置

猜你喜欢

转载自blog.csdn.net/ci250454344/article/details/86582682