您的位置:首页 > 移动开发 > Android开发

运用插件直接Android studio打包jar

2017-03-15 15:49 435 查看
AndroidStudio 和Eclipse将资源文件打包成jar包方法是不一样的,AS不像Eclipse那么直接!基本上都是在build.gradle 文件中新建一个task.
网上有很多的方法,下面介绍一种插件,直接打包OK!


插件使用

既然标题说了这是一个通用的打包jar插件,那么一些基本特性,如过滤包名,指定包名等是必须要支持的,目前该插件支持特性如下:

按需打包jar:

全项目打包jar

指定输出Jar包的包名路径列表

过滤指定包名路径列表

过滤指定class

过滤指定jar


支持混淆打包jar

支持applymapping

具体使用说明

第一步,在project的:build.gradle文件中 引入依赖

dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
classpath 'com.adison.gradleplugin:jar:1.0.1'
}


第二步,应用插件:

apply plugin: 'jar-gradle-plugin'
BuildJar{
//输出目录
outputFileDir= project.buildDir.path+"/jar"
//输出原始jar包名
outputFileName="scales.jar"
//输出混淆jar包名
outputProguardFileName="test_proguard.jar"
//混淆配置
proguardConfigFile="proguard-rules.pro"
//是否需要默认的混淆配置proguard-android.txt
needDefaultProguard=true
applyMappingFile="originMapping/mapping.txt"
//需要输出jar的包名列表,当此参数为空时,则默认全项目输出,支持多包,如 includePackage=['com/adison/testjarplugin/include','com/adison/testjarplugin/include1'...]
includePackage=['com/quanshang/listener','com/quanshang/scaleport','com/quanshang/scales/api']
//不需要输出jar的jar包列表,如['baidu.jar','baidu1.jar'...]
excludeJar=[]
//不需要输出jar的类名列表,如['baidu.calss','baidu1.class'...]
excludeClass=['com/adison/testjarplugin/TestExcude.class']
//不需要输出jar的包名列表,如 excludePackage=['com/adison/testjarplugin/exclude','com/adison/testjarplugin/exclude1'...]
// excludePackage=['com/adison/testjarplugin/exclude']
}


第三步,使用:

打包普通jar

./gradlew buildJar


打包混淆jar

./gradlew buildProguardJar


使用参看

插件源码查看
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息