Получение ошибки "verifyReleaseResources" после обновления React Native

Я пытаюсь обновить приложение React Native 0.57.1. Я думаю, что я выполнил все шаги, обновил все правильные файлы, но у меня все еще появляется ошибка, которую я не могу понять:

:react-native-document-picker:compileReleaseSources UP-TO-DATE
:react-native-document-picker:mergeReleaseResources UP-TO-DATE
:react-native-document-picker:verifyReleaseResourcesC:\Users\USERNAME\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\b3b5480809d523e6f8b8de92faafbcda\res\values-v26\values-v26.xml:9:5-12:13: AAPT: error: resource android:attr/colorError not found.

C:\Users\USERNAME\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\b3b5480809d523e6f8b8de92faafbcda\res\values-v26\values-v26.xml:13:5-16:13: AAPT: error: resource android:attr/colorError not found.

C:\Users\USERNAME\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\b3b5480809d523e6f8b8de92faafbcda\res\values-v26\values-v26.xml:17:5-93: AAPT: error: style attribute 'android:attr/keyboardNavigationCluster' not found.

C:\Users\USERNAME\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\b3b5480809d523e6f8b8de92faafbcda\res\values\values.xml:251:5-69: AAPT: error: resource android:attr/fontStyle not found.

C:\Users\USERNAME\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\b3b5480809d523e6f8b8de92faafbcda\res\values\values.xml:251:5-69: AAPT: error: resource android:attr/font not found.

C:\Users\USERNAME\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\b3b5480809d523e6f8b8de92faafbcda\res\values\values.xml:251:5-69: AAPT: error: resource android:attr/fontWeight not found.


error: failed linking references.
:react-native-document-picker:verifyReleaseResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-document-picker:verifyReleaseResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

Я не могу понять эти ошибки, понять, что они означают? Как я могу узнать, как это исправить?

Я пробовал разные вещи, в том числе удаление каталога.cache, изменение версии градиента, но ничего не помогает. Любая идея?

Ответы

Ответ 1

Вы должны добавить следующий код в свой проект android/build.gradle:

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion "27.0.2"
            }
        }
    }
}

Ответ 2

Причина ошибки:

Вы установили response-native-document-picker в качестве зависимости, и причина этой ошибки в том, что конфигурации ваших android/app/build.gradle и node_modules/react-native-document-picker/android/build.gradle не совпадают.

Решение

  1. Перейдите к node_modules/react-native-document-picker/android/build.gradle
  2. Отредактируйте и сохраните compileSdkVersion buildToolsVersion minSdkVersion targetSdkVersion так же, как в android/app/build.gradle
  3. Снова синхронизируйте проект.
  4. Запустите ./gradlew assembleRelease из терминала.

Ответ 3

Я думаю, может быть, он переопределяет все зависимости версии, если ниже, чем ожидалось?

Ответ 4

У меня была другая причина для этой проблемы, я ранее модифицировал minSdkVersion. Все, что вам нужно сделать, это удалить папки /node_modules/,/android/build и /android/app/build, повторно установить и выполнить npm./gradlew assemblyRelease снова.