React Native打包安卓应用上架Google Play提示不安全加密算法如何解决
问题原因
该问题不是React Native官方框架导致的,是你引入的第三方原生依赖引发的。
你给出的依赖列表中,react-native-biometrics@2.1.4 是问题来源:这个版本的生物识别库内部依赖了已废弃的com.securepreferences.SecurePreferencesOld组件,该组件使用了不符合Google Play安全规范的低安全性加密算法,因此触发了平台的自动化检测告警。
修复方案
方案1(推荐):升级react-native-biometrics到最新版本
该库从v3.0.0版本开始就完全移除了对SecurePreferencesOld的依赖,替换为安卓官方推荐的Jetpack Security加密实现,完全符合Google Play的安全要求。
执行以下命令升级即可:
# 使用npm npm install react-native-biometrics@latest # 使用yarn yarn add react-native-biometrics@latest
升级后如果业务调用代码有少量API不兼容,参照库的更新说明调整即可,整体改动量极小。
方案2(临时兼容,不推荐长期使用)
如果暂时无法升级大版本,可以在安卓构建配置中强制排除有问题的依赖,添加官方安全加密组件作为替代:
打开项目android/app/build.gradle文件,在dependencies代码块中添加如下配置:
implementation ('com.andrognito.securepreferences:library:1.0.0') { exclude group: 'com.securepreferences', module: 'SecurePreferencesOld' } implementation "androidx.security:security-crypto:1.1.0-alpha05"
配置完成后重新打包测试生物识别功能可用后,再提交到Google Play。
验证修复结果
打包完成后,可以通过Android Studio的 Build > Analyze APK 功能导入生成的APK文件,搜索com.securepreferences.SecurePreferencesOld类,无搜索结果即代表问题已修复。
内容的提问来源于stack exchange,提问作者Baterka
相关产品推荐
相关产品推荐

