Android 来自 Google Play 商店的 React Native App HostNameVerifier 错误

Android React Native App HostNameVerifier Error from Google Play Store

请帮忙,我在 MainApplication.java 文件中有以下实现。我正在检查固定的主机名,然后相应地返回 true 或 false。

Error Insecure hostname verifier

Security Your app is using an unsafe implementation of hostname verifier. Please see this Google Help Centre article for details, including the deadline for fixing the vulnerability.

Ld/a/a/a/a/c/e; Ld/a/a/a/a/c/f; sv:deadline:12/10/2020

 @Override
  public void onCreate() {
    super.onCreate();
    hostnameVerifier();
    MobileCore.setApplication(this);
    SoLoader.init(this, /* native exopackage */ false);
    ReactNativeFirebaseApp.setApplicationContext(this);
  }

private void hostnameVerifier(){
    HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
      @Override
      public boolean verify(String arg0, SSLSession arg1) {
        String hostList[] = {"in.appcenter.ms", "graph.facebook.com",
            "assets.adobedtm.com", "codepushupdates.azureedge.net", "app-measurement.com",
            "forter.com", "dmn1", "dmn2", "dmn3", "quantummetric.com", "urbanairship.com", "demdex.net", "search.unbxd.io",
            "monetate.net", "bazaarvoice.com", "google.com", "stylitics.com", "getcandid.com","braintreegateway.com"
          };

          for (String host : hostList) {
            if (host.contains(arg0) || arg0.endsWith(host)) {
              return true;
            }
          }
        return false;
      }
    });
  }

我应该怎么改,请帮忙

安全警报正确。您的代码将用户置于危险之中,应该 被 App Store 拒绝。

你为什么需要这个代码?删除它并仅在您获得有效证书时连接到服务器。

在 google 上运行控制台,转到发布管理 -> Select apk 版本 -> 安全选项卡。在那里,您将看到该 apk 的安全问题列表以及代码中的 class,这些问题可能会导致该安全问题。

如果您没有看到 class 名称,而是看到安全警告消息中的一些编码代码,请通过禁用您可能使用的任何代码压缩工具来上传另一个构建。就我而言,它是混淆器,我禁用了它并获得了库名。仅供参考 - 在我的案例中图书馆是 Braintree