如何在AndroidStudio中导出Jar包,并且自定义Exclude文件

Posted TonyW92

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在AndroidStudio中导出Jar包,并且自定义Exclude文件相关的知识,希望对你有一定的参考价值。

作为一个从Eclipse过渡到android Studio的Android开发,我相信每个人或多或少都有这么一个疑问,Android Studio没什么没有直接export Jar包的功能。在Eclipse中是如此的简便,但作为Ecplise的替代品Android Studio确没有这个功能。网上有很多Gradle的脚本用来执行导出Jar的功能。目前最流行的是

task clearJar(type: Delete) 
    delete 'build/libs/yutils.jar'


task makeJar(type: Copy) 
    from('build/intermediates/bundles/release/')
    into('build/libs/')
    include('classes.jar')
    rename ('classes.jar', 'yutils.jar')


makeJar.dependsOn(clearJar, build)

直接把build/intermediates/bundles/release/路径下的classes.jar换个名字换个路径导出。但是在classes.jar中有BuildConfig和R文件是我所不希望存在的,并且也没有META-INF/MAINFEST.MF清单文件存放一些我需用的信息

所以我们可以用已编译完的class文件自己压缩成jar包,可以根据需求个性定制

//生成jar包
task makeJar(type: org.gradle.api.tasks.bundling.Jar) 
    delete 'build/libs/pluginsdk.jar'

    baseName 'pluginsdk'

    from('build/intermediates/classes/release/')
    //千万注意,这里 的into空着就行,不然在你的jar包中会多一层目录
    into('')
    //不想要的文件统统exclude
    exclude('**/R.class')

    exclude('**/BuildConfig.class')

    exclude  it.name.startsWith('R$'); 

如果有exclude需求的同学可以试试我提供的这种方法

以上是关于如何在AndroidStudio中导出Jar包,并且自定义Exclude文件的主要内容,如果未能解决你的问题,请参考以下文章

AndroidStudio 项目中导入jar包及so包

androidstudio中导入的jar包没有主清单属性怎么办

androidstudio中导入的jar包没有主清单属性怎么办

怎么在eclipse中导入gson和dom4

(01)Eclipse中导出jar包

Eclipse中导入外部jar包步骤