Как включить Tls 1.1 и 1.2 в реакцию с родным (андроид) - PullRequest
0 голосов
/ 09 января 2019

Ну, я разрабатываю приложение для платформы Android и IOS, внутри моего приложения я собираю данные из API. Я понял, что мое приложение не может получать данные в некоторых версиях Android. Я тестировал в андороиде 4.1, 4.4 и 5.1. Эти версии не влияют на данные. Но у Android 7, бери и у меня проблем нет.

Я искал решение, обнаружил, что версии андроидов, использующие minSdkVersion 16, по умолчанию не поддерживают TLS 1.1 и 1.2. (Это реализовано из 20 sdkVersion) И чтобы их включить, мне придется делать с Java. Я просто работаю с Reaction-native 3 месяца назад, и я не Java-программист. Так что вещи, которые я вижу вокруг, не говорят мне точно, что я должен буду делать. Может ли кто-нибудь сказать мне шаги, чтобы включить TLS 1.1 и TLS 2.2 в приложении-реактивном Android. Я просто вижу примеры, которые дают код для добавления, они не объясняют и не рассказывают шаги. И еще я прочитал комментарий, в котором говорится, что при включении TLS 1.1 и 1.2 приложение не может быть загружено в игровой магазин.

1 Ответ

0 голосов
/ 26 марта 2019

добавить эту библиотеку в Android build.gradle

implementation 'com.google.android.gms:play-services-safetynet:+'

и добавьте этот код к вашему MainApplication.java

@Override
  public void onCreate() {
    super.onCreate();
    upgradeSecurityProvider();
    SoLoader.init(this, /* native exopackage */ false);
  }

  private void upgradeSecurityProvider() {
    ProviderInstaller.installIfNeededAsync(this, new ProviderInstallListener() {
      @Override
      public void onProviderInstalled() {

      }

      @Override
      public void onProviderInstallFailed(int errorCode, Intent recoveryIntent) {
//        GooglePlayServicesUtil.showErrorNotification(errorCode, MainApplication.this);
        GoogleApiAvailability.getInstance().showErrorNotification(MainApplication.this, errorCode);
      }
    });
  }
...