升级到 RN 0.56 出现错误:找不到与给定名称匹配的资源'android:TextAppearance.Material.Widget.Button.Borderless.Colored'



升级到react native 0.56后(使用react nativegit升级,并将babel preset react natural更新到5.0.2(,
react naturerun ios运行良好,app运行正常。

但当运行反应原生运行android时,错误发生:

/Users/shouhuasun/dev/stage/upgrade-test/mobile-upgrade-test/node_modules/areact native wechat/android/build/metermediates/res/merged/release/v24/values-v24.xml:3:APT:检索项的父项时出错:找不到与给定名称"android:TextAppearance.Material.Widget.Button.Borderless.Colored"匹配的资源。

未找到其他名称,如:'TextAppearance.Material.Widget.Button.Colored,android:keyboardNavigationCluster'等。

其他库,如react native fetch blob也出现了错误。

错误是什么
谢谢!

我得到了解决方案(感谢Reynald Liandra在脸书上的React Native Community问答(:

react原生微信(与其他第三个libs相同(android模块在更新到rn v0.56后需要使用sdk 26进行编译。

打开node_modules/areact native微信/android/build.gradle,
将compileSdkVersion更改为26,buildToolsVersion更改为26.0.3
然后运行react native-run android,得到正确的结果。

如果有几个第三个库,那么更改几个build.gradle文件会很麻烦
如果更新任何libs版本(或yarn添加新的libs(,node_module将被刷新,build.gradle中的所有更改都将丢失。

您可以通过以下方式强制gradle使用指定的sdk版本(不再修改node_modules中的build.gradle(:
gradle强制第三方库上的构建工具版本

确保您的npm版本高于8.0