Android Studio封装SDK,排除类的小坑

第一种方式

def SDK_PREFIXNAME = "sdk_name";//打包后名字
def SDK_VERSION = "_version101";//SDK版本号
def SDK_NAME = SDK_PREFIXNAME + SDK_VERSION + ".jar";
def zipFile = file('build/intermediates/packaged-classes/release/classes.jar')
def sdkDestinationPath = "build/lib_sdk/";//保存目录

task makeJar(type: Jar) {//生成jar
    //如果之前存在,则先删除
    delete sdkDestinationPath + SDK_NAME
    from zipTree(zipFile)

    //去掉不需要打包的目录和文件(绝对路径)
    exclude('com/example/andriod/myapplication/remove', 'RemoveUtils.class', 'RemoveTextUtils.class')

    from fileTree(dir: 'src/main', includes: ['assets/**'])
    baseName = SDK_PREFIXNAME + SDK_VERSION
    destinationDir = file(sdkDestinationPath)
}
makeJar.dependsOn(build)

第二种方式

def SDK_PREFIXNAME = "sdk_name";//打包后名字
def SDK_VERSION = "_version101";//SDK版本号
def SDK_NAME = SDK_PREFIXNAME + SDK_VERSION + ".jar";
def sdkDestinationPath = "build/lib_sdk/";//保存目录

task makeJar(type: Copy) {//生成jar
    //如果之前存在,则先删除
    delete sdkDestinationPath + SDK_NAME
    //设置拷贝的文件
    from('build/intermediates/packaged-classes/release/classes.jar')
    //生成jar包后的文件目录位置
    into(sdkDestinationPath)
    
    //去掉不需要打包的目录和文件(绝对路径)
    exclude(
    'com/example/andriod/myapplication/remove/RemoveUtils.class' , 
    'com/example/andriod/myapplication/remove/RemoveTextUtils.class')
    
    //include,exclude 参数来设置过滤
    include('classes.jar')
    //重命名
    rename('classes.jar', SDK_NAME)
}
makeJar.dependsOn(build)

猜你喜欢

转载自blog.csdn.net/qq_28703617/article/details/84316275