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

olmpazwi  于 2022-11-30  发布在  React
关注(0)|答案(6)|浏览(326)

我正在尝试将应用程序升级到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目录,更改gradle版本,但似乎没有任何帮助。

nuypyhwy

nuypyhwy1#

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

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

yqkkidmi2#

对我来说,解决这个问题的方法是在前缀中加上app

./gradlew app:assembleRelease
fnatzsnv

fnatzsnv3#

    • 错误原因:**

您已将 * react-native-document-picker * 安装为依赖项,此错误的原因是android/app/build.gradlenode_modules/react-native-document-picker/android/build.gradle的配置不匹配。

    • 解决方案**

1.导航到node_modules/react-native-document-picker/android/build.gradle
1.编辑compileSdkVersionbuildToolsVersionminSdkVersiontargetSdkVersion并使其与android/app/build.gradle中的targetSdkVersion保持相同
1.再次同步项目。
1.从终端运行./gradlew assembleRelease

fjnneemd

fjnneemd4#

有这个问题的另一个原因,我以前修改过minSdkVersion。所有你需要做的是删除/node_modules/文件夹,/android/build和/android/app/build文件夹,重新npm安装和执行。/gradlew assembleRelease再次。

hpxqektj

hpxqektj5#

    • 错误原因:**

在我的例子中,我安装了react-native-thermal-receipt-printer作为依赖项,这个错误的原因是android/build.gradlenode_modules/react-native-thermal-receipt-printer/android/build.gradle的配置不匹配。

    • 解决方案**

1.导航到node_modules/react-native-thermal-receipt-printer/android/build.gradle
1.编辑compileSdkVersionbuildToolsVersionminSdkVersiontargetSdkVersion并使其与android/build.gradle中的targetSdkVersion保持相同
1.保存并更改dir cd android
1.运行./gradlew clean
1.运行./gradlew assembleRelease

hmae6n7t

hmae6n7t6#

命令cd android && ./gradlew app:assembleRelease可以发挥作用。
我发现了一个github链接,其中一个命令可以帮助解决几乎所有类型的verifyReleaseResource错误。https://github.com/luggit/react-native-config/issues/330#issuecomment-494915023

相关问题