方案一:
ML Kit 是一个强大易用的工具包。通过 ML Kit 您可以很轻松的实现文字识别、条码识别、图像标记、人脸检测、对象检测等功能。
可以参考如下资料链接:
https://developers.google.com/ml-kit/vision/barcode-scanning/android#java
https://github.com/jenly1314/MLKit
https://blog.csdn.net/guolin_blog/article/details/123447531
方案二:
华为 HMS 扫码 SDK 方案。
可以参考如下资料链接:
https://developer.huawei.com/consumer/cn/doc/development/HMS-Guides/scan-preparation-4
https://blog.csdn.net/weixin_47546655/article/details/107847770
方案三:
基于 OpenCV 开源的微信二维码引擎移植的Android扫码识别库 。
可以参考如下资料链接:
https://github.com/jenly1314/WeChatQRCode
方案四:
基于 ZXing 的扫码和生成二维码/条形码的方案。
可以参考如下资料链接:
https://github.com/jenly1314/ZXingLite
总结如下:
推荐 华为 HMS 扫码方案,接入开发成本低而且免费,基于华为研发团队的机器学习识别模型来识别二维码,需要迭代只需升级依赖的 SDK 版本即可,内部问题修复或优化由华为研发团队完成。
ML Kit 方案虽然是基于谷歌的机器学习模型来做的,但是可能对中国多品牌、多型号的手机支持力度可能不够。适合用户群主要是海外的用户的出海项目使用。
基于 OpenCV 开源的微信二维码引擎移植的Android扫码识别库方案,项目必须依赖 OpenCV 的库,对于APP安装包大小敏感的项目不太适合使用,并且 OpenCV 相关的代码二次开发或定位问题的话,有一定的开发门槛。
ZXing 的方案大家都很熟悉,就不做阐述了。