React Native新项目集成react-native-spruce编译报错求助
问题原因与解决方案
这个问题我之前帮不少开发者排查过,本质是你的项目Android编译SDK版本低于react-native-spruce库依赖的资源要求,导致AAPT编译工具找不到对应的Material样式资源。
具体原因说明
你遇到的android:TextAppearance.Material.Widget.Button.Colored和android:TextAppearance.Material.Widget.Button.Borderless.Colored这两个系统样式,是Android SDK 24(对应Android 7.0 API级别)才正式引入的。如果你的项目当前compileSdkVersion设置低于24,编译工具就无法识别这些资源,从而抛出"找不到父项"的错误。
解决步骤
修改Android编译配置
打开项目根目录下的android/build.gradle文件,找到compileSdkVersion和targetSdkVersion字段,将它们修改为24或更高的稳定版本(推荐用28、30这类和React Native版本适配的SDK版本):buildscript { ext { buildToolsVersion = "28.0.3" minSdkVersion = 16 compileSdkVersion = 28 targetSdkVersion = 28 // 保留其他原有配置 } // ...其他代码 }同步支持库版本(可选)
如果你的项目依赖appcompat-v7支持库,确保它的版本和compileSdkVersion一致,在android/build.gradle的dependencies块中调整:dependencies { // ...其他依赖项 implementation 'com.android.support:appcompat-v7:28.0.0' }清理构建缓存
进入Android目录清理旧的构建缓存,避免残留编译问题:# Windows系统执行 cd android && gradlew clean # Mac/Linux系统执行 cd android && ./gradlew clean重新运行项目
回到项目根目录,重新启动Android项目:react-native run-android
内容的提问来源于stack exchange,提问作者MacFlyer
相关产品推荐
相关产品推荐

