Android 如何实现exclude aar包中的某个jar包

 更新时间:2020年03月23日 11:42:26   作者:Huang-Lin  
这篇文章主要介绍了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包

如果通过上面方法还没有解决问题说明lib中还是有V4包引用冲突 最好的办法就是注释掉 然后需要用到哪个jar 再导入哪个

以上这篇Android 如何实现exclude aar包中的某个jar包就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Timer实现网页匀速加载的进度条样式

    使用Timer实现网页匀速加载的进度条样式

    这篇文章主要介绍了使用Timer实现网页匀速加载的进度条样式,在使用WebView加载网页时有时候网速等原因加载比较慢时,影响用户的体验度,今天小编给大家分享使用timer实现网页匀速加载的进度条样式,需要的的朋友参考下吧
    2017-01-01
  • 手把手教你实现Android编译期注解

    手把手教你实现Android编译期注解

    今天给大家介绍Android编译期注解sdk的步骤以及注意事项,并简要分析了运行时注解以及字节码技术在生成代码上与编译期注解的不同与优劣,感兴趣的朋友一起看看吧
    2021-07-07
  • Android开发实现读取Assets下文件及文件写入存储卡的方法

    Android开发实现读取Assets下文件及文件写入存储卡的方法

    这篇文章主要介绍了Android开发实现读取Assets下文件及文件写入存储卡的方法,涉及Android文件与目录的读取、写入、转换等相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • Android软键盘状态弹出与消失的示例

    Android软键盘状态弹出与消失的示例

    这篇文章主要介绍了本篇文章主要介绍了Android软键盘状态弹出与消失的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Kotlin中的扩展函数与属性示例详解

    Kotlin中的扩展函数与属性示例详解

    理论上来说,扩展函数很简单,它就是一个类的成员函数,不过定义在类的外面。下面这篇文章主要给大家介绍了关于Kotlin中扩展函数与属性的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-06-06
  • Android开发之超实用的系统管理工具类【SD卡,网络,uri,屏幕,网络,软键盘,文本,进程等】

    Android开发之超实用的系统管理工具类【SD卡,网络,uri,屏幕,网络,软键盘,文本,进程等】

    这篇文章主要介绍了Android开发之超实用的系统管理工具类,涉及Android针对SD卡,网络,uri,屏幕,网络,软键盘,文本,进程等相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • Android创建外部lib库及自定义View的图文教程

    Android创建外部lib库及自定义View的图文教程

    这篇文章主要给大家介绍了关于Android创建外部lib库及自定义View的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Android四大组件之broadcast广播详解

    Android四大组件之broadcast广播详解

    Android开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库,本篇着重介绍广播组件
    2022-10-10
  • Android实现ImageView阴影和图层效果

    Android实现ImageView阴影和图层效果

    这篇文章主要为大家详细介绍了Android实现ImageView阴影和图层效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Android实现粒子爆炸效果的方法

    Android实现粒子爆炸效果的方法

    这篇文章主要介绍了Android实现粒子爆炸效果的方法,实例分析了Android动画特效的实现技巧,需要的朋友可以参考下
    2015-06-06

最新评论