You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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,编译工具就无法识别这些资源,从而抛出"找不到父项"的错误。

解决步骤

  1. 修改Android编译配置
    打开项目根目录下的android/build.gradle文件,找到compileSdkVersion和targetSdkVersion字段,将它们修改为24或更高的稳定版本(推荐用28、30这类和React Native版本适配的SDK版本):

    buildscript {
        ext {
            buildToolsVersion = "28.0.3"
            minSdkVersion = 16
            compileSdkVersion = 28
            targetSdkVersion = 28
            // 保留其他原有配置
        }
        // ...其他代码
    }
    
  2. 同步支持库版本(可选)
    如果你的项目依赖appcompat-v7支持库,确保它的版本和compileSdkVersion一致,在android/build.gradle的dependencies块中调整:

    dependencies {
        // ...其他依赖项
        implementation 'com.android.support:appcompat-v7:28.0.0'
    }
    
  3. 清理构建缓存
    进入Android目录清理旧的构建缓存,避免残留编译问题:

    # Windows系统执行
    cd android && gradlew clean
    
    # Mac/Linux系统执行
    cd android && ./gradlew clean
    
  4. 重新运行项目
    回到项目根目录,重新启动Android项目:

    react-native run-android
    

内容的提问来源于stack exchange,提问作者MacFlyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:36:05