jenly1314 / ZXingLite

🔥 ZXing的精简极速版,优化扫码和生成二维码/条形码,内置闪光灯等功能。扫描风格支持:微信的线条样式,支付宝的网格样式。几句代码轻松拥有扫码功能 ,ZXingLite让集成更简单。(扫码识别速度快如微信)
https://jenly1314.github.io/ZXingLite/
Apache License 2.0
3.03k stars 470 forks source link

开源库能否对依赖多版本共存做下兼容 #252

Closed ximencx closed 2 months ago

ximencx commented 2 months ago

修改方式: appcompat 库版本号后面写个 +,或者 依赖方式改为compileOnly 比如 zixinglite库 及依赖对应的 viewfind 和 scan 库

jenly1314 commented 2 months ago

修改方式: appcompat 库版本号后面写个 +,或者 依赖方式改为compileOnly 比如 zixinglite库 及依赖对应的 viewfind 和 scan 库

ximencx commented 2 months ago

修改方式: appcompat 库版本号后面写个 +,或者 依赖方式改为compileOnly 比如 zixinglite库 及依赖对应的 viewfind 和 scan 库

  • 你的这个想法我很早之前就考虑过了,记得2.3.0以前的版本是用的compileOnly;后续版本特意改用的:implementation ;
  • 至于版本号带+号的这种自动获取版本最新依赖的偷懒写法,你可以用在application模块,但不建议在library中使用,因为其存在版本不兼容的隐患。

首先不兼容的概率很小,不兼容主要体现在 androidsdk 版本,而不是依赖库,所以第二条理论存在实际概率很小。 但是造成的多依赖共存确实会加大安装包体积,主流库一般采用的都是compileOnly加低版本,还是建议可以改一下,实在不行就自己编译本地 aar 包了

jenly1314 commented 2 months ago

修改方式: appcompat 库版本号后面写个 +,或者 依赖方式改为compileOnly 比如 zixinglite库 及依赖对应的 viewfind 和 scan 库

  • 你的这个想法我很早之前就考虑过了,记得2.3.0以前的版本是用的compileOnly;后续版本特意改用的:implementation ;
  • 至于版本号带+号的这种自动获取版本最新依赖的偷懒写法,你可以用在application模块,但不建议在library中使用,因为其存在版本不兼容的隐患。

首先不兼容的概率很小,不兼容主要体现在 androidsdk 版本,而不是依赖库,所以第二条理论存在实际概率很小。 但是造成的多依赖共存确实会加大安装包体积,主流库一般采用的都是compileOnly加低版本,还是建议可以改一下,实在不行就自己编译本地 aar 包了