集成Appsweep检测到SHA1不安全哈希算法问题,添加ProGuard规则无效如何解决?
问题描述
集成Appsweep工具时,构建应用提交测试后检测到「使用不安全哈希算法SHA1」的问题,该问题源自com.google.firebase.installations.local.IidStore类。已添加以下ProGuard规则但未解决问题:
# obfuscate the classes in all internal packages. -keep public class !**.internal.**, com.google.** { public protected *; } # We can repackage all obfuscated classes in a new internal package. -repackageclasses com.google.internal
解决方案
升级Firebase Installations依赖版本:SHA1的使用是Firebase Installations旧版本中的实现,更新到最新稳定版通常会替换为更安全的哈希算法(如SHA-256)。在Module级别的
build.gradle中更新依赖:implementation 'com.google.firebase:firebase-installations:最新版本号'可通过Firebase官方渠道确认当前最新版本。
调整ProGuard规则,解除对IidStore类的强制保留:你当前的规则保留了所有
com.google.**下的类,导致IidStore无法被混淆或优化。修改规则,明确排除该类:# 保留Firebase公共类,但排除IidStore -keep public class !com.google.firebase.installations.local.IidStore, com.google.firebase.** { public protected *; } # 允许对该类进行优化 -dontwarn com.google.firebase.installations.local.IidStore -allowaccessmodification确认R8优化已启用:若使用Android Gradle Plugin 3.4及以上版本,默认启用R8而非ProGuard。确保构建配置未禁用相关优化,在
gradle.properties中检查:android.enableR8=true
内容的提问来源于stack exchange,提问作者SHIDHIN TS
相关产品推荐
相关产品推荐

