没有合适的资源?快使用搜索试试~ 我知道了~
首页Android 如何实现exclude aar包中的某个jar包
场景一 要移除的jar包不在aar包中的classes.jar中 直接把aar包里的Jar打包的时候给去掉,就像下面这这样。注意,要使用exclude module这种方式,直接使用exclude group方式没有效果。exclude group的方法适用于exclude JAR包中的文件。 implementation(name: '×××××××aar包', ext: 'aar') { exclude module: 'gson' } 场景二 要移除的jar包在aar包中的classes.jar中 这个时候,使用exclude方法已经不能生效了。你可以使用下面的通用方法 解压aa
资源详情
资源评论
资源推荐

Android 如何实现如何实现exclude aar包中的某个包中的某个jar包包
场景一场景一
要移除的jar包不在aar包中的classes.jar中
直接把aar包里的Jar打包的时候给去掉,就像下面这这样。注意,要使用exclude module这种方式,直接使用exclude group
方式没有效果。exclude group的方法适用于exclude JAR包中的文件。
implementation(name: '×××××××aar包', ext: 'aar') {
exclude module: 'gson'
}
场景二场景二
要移除的要移除的jar包在包在aar包中的包中的classes.jar中中
这个时候,使用exclude方法已经不能生效了。你可以使用下面的通用方法
解压aar文件到tmpDir目录下
unzip ×××.aar -d tmpDir
找到classes.jar包,用压缩工具打开,删除目标文件
将tmpDir重新打包成一个新的aar
jar cvf ×××NewLib.aar -C tmpDir/ .
**补充:**我在Ubuntu下直接使用压缩工具打开aar包,然后删除其中的重复的文件,这个方法也是可行的。
补充知识:补充知识:Android导入多个导入多个Module时包冲突解决办法时包冲突解决办法
本文章是基于AndroidStudio的经验总结 希望可以帮到您
1.如果某项目中导入了v4包(环信集成)
自己的项目AS中会自动导入V7包,V7包中就包含V4从而会导致V4jar包冲突
错误提示:
Error:Execution failed for task ‘:transformClassesWithJarMergingForDebug’.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry:
android/support/annotation/ColorRes.class
解决办法:解决办法:
compile ('com.android.support:appcompat-v7:23.3.0'){
exclude module: 'support-v4'
}
compile fileTree(include: [‘*.jar’], dir: ‘libs’)
这句话会导入lib文件夹中所有jar包

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0