React-native-onesignal: разрешенная зависимость библиотеки сервисов Google Play зависит от другой конкретной версии (например, «[10.2. 1, 16.0.99]]», но не разрешается для этой версии.

Созданный на 17 дек. 2019  ·  17Комментарии  ·  Источник: OneSignal/react-native-onesignal

Описание:

Я установил response-native-onesignal согласно документации. Он отлично работает на iOS, но вызывает серьезные проблемы на стороне Android, связанные с зависимостями сервисов Google Play. Похоже, что это произойдет, если я перейду на google-services с 4.2.0 до 4.1.0, но, к сожалению, понижение уровня приведет к нарушению некоторых других моих зависимостей.

Я видел, как эта проблема регистрировалась в нескольких местах на стороне Android, что наводит меня на мысль, что существует проблема с последней версией Android SDK, которая поддерживается этой библиотекой для реагирования:

https://github.com/OneSignal/OneSignal-Android-SDK/issues/894
https://stackoverflow.com/questions/59128152/error-in-project-app-a-resolved-google-play-services-library-dependency-depen

Вот ошибка, которую я получаю:

> In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[10.2.
  1, 16.0.99]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.

  Dependency failing: com.onesignal:OneSignal:3.12.3 -> com.google.android.gms:play-services-location@[10.2.1, 16.0.99], b
  ut play-services-location version was 15.0.1.

  The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
  ifact with the issue.
  -- Project 'app' depends onto com.google.android.gms:play-services-location@{strictly 15.0.1}
  -- Project 'app' depends onto com.onesignal:OneSignal@{strictly 3.12.3}
  -- Project 'app' depends on project 'react' which depends onto com.onesignal:[email protected]

Среда

  1. React-native-onesignal версия 3.6.0
  2. пряжа и ссылка на реакцию

Шаги по воспроизведению проблемы:

  1. Установите OneSignal SDK с помощью пряжи в проект
  2. Используйте google-services версии 4.2.0 и плагин onesignal-gradle для скрипта сборки gradle:
buildscript {
  ...
  repositories {
    ...
    maven {
            url 'https://plugins.gradle.org/m2/'
        }
  }
  dependencies {
    ...
    classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.1, 0.99.99]'
    classpath 'com.google.gms:google-services:4.2.0'
  }
}
  1. Примените плагин gradle после buildscript
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
  1. Попытка собрать приложение для Android
react-native run-android

Что-нибудь еще:

Help Wanted

Самый полезный комментарий

Попробуйте объявить onesignal-gradle-plugin перед google-services в androidappbuild.gradle:

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.google.gms.google-services'

Все 17 Комментарий

У меня тоже такая же проблема.

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:preDebugBuild'.
> In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[10.2.
  1, 16.0.99]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.

  Dependency failing: com.onesignal:OneSignal:3.12.3 -> com.google.android.gms:play-services-location@[10.2.1, 16.0.99], b
  ut play-services-location version was 16.0.0.

  The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
  ifact with the issue.
  -- Project 'app' depends onto com.google.android.gms:play-services-location@{strictly 16.0.0}
  -- Project 'app' depends onto com.onesignal:OneSignal@{strictly 3.12.3}
  -- Project 'app' depends on project 'react' which depends onto com.onesignal:[email protected]

  For extended debugging info execute Gradle from the command line with ./gradlew --info :app:assembleDebug to see the dep
  endency paths to the artifact. This error message came from the google-services Gradle plugin, report issues at https://
  github.com/google/play-services-plugins and disable by adding "googleServices { disableVersionCheck = false }" to your b
  uild.gradle file.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 15s

@Esirei Какую версию

Та же проблема с 3.6.1:

* What went wrong:
Could not determine the dependencies of task ':app:preDebugBuild'.
> In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[10.2.
  1, 16.0.99]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.

  Dependency failing: com.onesignal:OneSignal:3.12.4 -> com.google.android.gms:play-services-location@[10.2.1, 16.0.99], b
  ut play-services-location version was 15.0.1.

  The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
  ifact with the issue.
  -- Project 'app' depends onto com.google.android.gms:play-services-location@{strictly 15.0.1}
  -- Project 'app' depends onto com.onesignal:OneSignal@{strictly 3.12.4}
  -- Project 'app' depends on project 'react' which depends onto com.onesignal:[email protected]

  For extended debugging info execute Gradle from the command line with ./gradlew --info :app:assembleDebug to see the dep
  endency paths to the artifact. This error message came from the google-services Gradle plugin, report issues at https://
  github.com/google/play-services-plugins and disable by adding "googleServices { disableVersionCheck = false }" to your b
  uild.gradle file.

Переход на версию 3.4.2 решает эту проблему.

Не могли бы вы убедиться, что у вас установлена ​​последняя версия плагина OneSignal Gradle?

@rgomezp Я попытался установить последнюю версию onesignal, которая включает версию 3.12.4 плагина OneSignal gradle. Однако это все равно вызывало ошибку .

Похоже, что Android SDK 3.12. * Несовместим с google-services 4.2.

Попробуйте объявить onesignal-gradle-plugin перед google-services в androidappbuild.gradle:

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.google.gms.google-services'

Как сказано выше в @allumina , вам нужно отредактировать файл appbuild.gradle в соответствии с документами.

@Esirei Какую версию

v3.6.1

Раньше не было добавления oneignal-gradle-plugin на шаг файла gradle . Я думаю, что при обновлении это привело к тому, что он не компилировался. Их добавление устранило мою проблему.

Кажется, на данный момент это решено. Спасибо за участие

@rgomezp Не думаю, что это было исправлено. Все здесь только что нашли обходные пути, например, понижение версии. Я считаю, что это все еще серьезная проблема.

Я не вижу никаких ответов от OneSignal, кроме «убедитесь, что вы установили последнюю версию», что не помогло.

@rgomezp Я попытался установить последнюю версию onesignal, которая включает версию 3.12.4 плагина OneSignal gradle. Однако это все равно вызывало ошибку .

Похоже, что Android SDK 3.12. * Несовместим с google-services 4.2.

@cmcaboy OneSignal Gradle Плагин является независимым от компонента из OneSignal Android Native SDK и не включается автоматически.
Пожалуйста, дважды проверьте, правильно ли вы выполнили раздел « Добавление плагина Gradle » в руководстве по настройке React Native OneSignal.

Попробуйте объявить onesignal-gradle-plugin перед google-services в androidappbuild.gradle:

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.google.gms.google-services'

Спасибо. У меня работает.

В app / build.gradle я добавил эту строку:
plugins {
id 'com.onesignal.androidsdk.onesignal-gradle-plugin' версия '0.12.6'
}

Попробуйте объявить onesignal-gradle-plugin перед google-services в androidappbuild.gradle:

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.google.gms.google-services'

@allumina
Работает для меня. Спасибо

применить плагин: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
применить плагин: 'com.google.gms.google-services'

@allumina
Работает для меня. Спасибо ☺️ 👍

У меня все еще возникает проблема, приведенные выше решения не помогли мне, может ли кто-нибудь поделиться всеми своими файлами gradle?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги