升级React Native后出现"verifyReleaseResources"错误

lau*_*ent 30 android-gradle-plugin react-native react-native-android

我正在尝试将应用程序升级到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
Run Code Online (Sandbox Code Playgroud)

我无法理解这些错误,任何想法是什么意思?我怎样才能找到解决这个问题的方法?

我尝试过各种各样的东西,包括删除.cache目录,更改gradle版本,但似乎没有任何帮助.任何的想法?

San*_*ndy 43

您需要在项目的android/build.gradle中添加以下代码:

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion "27.0.2"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @LukeWilliams这是由于等级依赖性不匹配。您正在解决与该代码不匹配的问题。compileSdkVersion和buildToolsVersion应该与您的android / build.gradle中的匹配 (3认同)
  • 同样的配置可能并不适合所有人。您应该根据项目的值更改“compiledSdkVersion”和“buildToolsVersion”的值。对我来说,分别是 28 和 28.0.3。 (2认同)

Gil*_*d M 17

对我来说,解决这个问题的是前缀app

./gradlew app:assembleRelease
Run Code Online (Sandbox Code Playgroud)

  • 虽然构建有效,但应用程序稍后在安装时中断 (3认同)

Had*_*Mir 7

错误原因:

您已经安装了 react-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从终端运行。