dialogCornerRadius, fontVariationSettings, ttcIndex ... не найден после установки и привязки зависимости к моему приложению - PullRequest
0 голосов
/ 31 мая 2019

Контекст

Эта проблема охватывает проекты Android и Native (включая проекты, извлеченные из Expo).

Я работал с недавно запущенным проектом Expo (React Native).Я только что установил пакет узлов OneSignal в свой проект.

npm install react-native-onesignal && react-native link react-native-onsignal

Затем в моем проекте Android внутри файла android/app/build.gradle (где находятся sdkNumbers, а также зависимости и библиотеки).имел следующий параметр:

  android {
  compileSdkVersion 28
  buildToolsVersion '28.0.0'

  defaultConfig {
    ...
    minSdkVersion 21
    targetSdkVersion 28
    ...
  }

... и в том же файле, в разделе зависимостей у меня была моя недавно связанная библиотека (onesignal) ...

dependencies {
  compile project(':react-native-onesignal')
  ...    
}

Итак,Мой родной проект Android настроен на сборку с использованием функций API 28 (в основном это то, что означают все значения sdkNumbers, установленные на 28).

Проблема

  • dialogCornerRadius не найден.
  • fontVariationSettings не найден.
  • ttcIndex не найден.

При попытке создать приложение для Android появляется сообщение об ошибке :

    > Task :react-native-onesignal:verifyReleaseResources FAILED

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':react-native-onesignal:verifyReleaseResources'.
    > java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
      Output:  /node_modules/react-native-onesignal/android/build/intermediates/res/merged/release/values-v28/values-v28.xml:7: 
error: resource android:attr/dialogCornerRadius not found.
      /node_modules/react-native-onesignal/android/build/intermediates/res/merged/release/values-v28/values-v28.xml:11: 
error: resource android:attr/dialogCornerRadius not found.
      /node_modules/react-native-onesignal/android/build/intermediates/res/merged/release/values/values.xml:970: 
error: resource android:attr/fontVariationSettings not found.
      /node_modules/react-native-onesignal/android/build/intermediates/res/merged/release/values/values.xml:971: 
error: resource android:attr/ttcIndex not found.
      error: failed linking references.

Trials

Я также пытался изменить все мои библиотеки com.android.support на последнюю версию (28).Проблема осталась.

Я пытался отменить миграцию AndroidX.Проблема изменилась на некоторые сумасшедшие вещи Proguard.Слишком безумный, я вернулся к AndroidX.

1 Ответ

0 голосов
/ 31 мая 2019

Решение

Мне просто пришлось обновить файл зависимостей (onesignal) build.gradle, который был расположен по пути node_modules/react-native-onesignal/android/build.gradle.

В основном я изменил onesignal compileSdkVersion с 26

android {
    compileSdkVersion safeExtGet('compileSdkVersion', 26)
    buildToolsVersion safeExtGet('buildToolsVersion', '26.0.2')

до 28

android {
    compileSdkVersion 28
    buildToolsVersion safeExtGet('buildToolsVersion', '26.0.2')

Работает нормально, теперь работают уведомления.

TL; DR

Я изменил build.gradle compileSdkVersion синглсинала на тот же, что и основной файл Android build.gradle.

...