美文网首页Android技术知识Android开发Android知识
Android十八章:Android Studio打包jar文件

Android十八章:Android Studio打包jar文件

作者: ppjuns | 来源:发表于2017-04-05 09:38 被阅读173次

    有人问我

    AndroidStudio怎么打包出jar文件。

    通常我们AndroidStudio项目中里面包括了一个library,在library对应的build/intermediates/bundles/release/classes.jar。这个classes.jar就是library对应的jar文件。
    ps:library对应的aar文件在build/outputs/aar/xxx.aar
    下面我们直奔主题。

    如何打包jar

    我只想要对应的class文件打包进一个jar。

    这里我们用到jar命令

    jar cvf AAA.jar -C BBB/ .
    

    意思就是把BBB目录下的所有class文件都打包进AAA这个jar。

    在build/intermediates/classes/release/里面有library生成的所有class文件。
    所以我们只要打包这个文件夹下的所有class文件就好了
    在对应的module或者库的build.gradle文件下,手写task,比如以下

    /*生成jar包名*/
    def JAR_NAME="AAA.jar";
    /*生成jar文件夹路径*/
    def TARGET_FOLDER="build/"
    /*包含class文件的路径*/
    def CLASS_FOLDER="build/intermediates/classes/release/"
    
    
    /*执行命令jar cvf xx.jar -C xxx/ .   */
    def makeJar(String target,String classDir){
        exec{
            executable "jar"
            args "cvf",target
            args "-C",classDir
            args " ","."
    
        }
    }
    
    task buildJarTask(dependsOn:['build'])<<{
        makeJar(TARGET_FOLDER+JAR_NAME,CLASS_FOLDER)
    }
    /*
    在终端项目根目录执行gradle buildJarTask*/
    

    如果是window下,我们还可以写一个bat脚本,然后把脚本放在build/intermediates/classes根目录下,双击bat文件执行命令。

    @ECHO OFF
    Echo Auto-Jar Created By ppjun
    Echo start to jar the folder
    
    jar cvf apple.jar -C release/ .
    
    Echo jar Complete 
     
    Pause
    EXIT
    
    

    上面就是我们打包的整个过程。

    总结

    1. 使用命令jar cvf xx.jar -C xxx/ . 将class文件打包进jar文件

    相关文章

      网友评论

        本文标题:Android十八章:Android Studio打包jar文件

        本文链接:https://www.haomeiwen.com/subject/qgrtattx.html