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

本文详细介绍了在Android Studio中封装SDK时遇到的类排除问题,通过两种不同的解决方式,帮助开发者规避常见错误,提升SDK开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种方式

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值