react-native run-android编译失败:找不到与给定名称匹配的资源' android:TextAppearance.Material.Widget.Button.Colored'

时间:2017-12-05 16:01:52

标签: android react-native

运行react-native run-android时会抛出以下错误:

  

/Users/waltermonecke/Code_Projects/reactNative/lisdo/android/app/build/intermediates/res/merged/debug/values-v24/values-v24.xml:3:   AAPT:检索项目的父项时出错:找不到匹配的资源   给定的名字   '机器人:TextAppearance.Material.Widget.Button.Borderless.Colored'

     

/Users/waltermonecke/Code_Projects/reactNative/lisdo/android/app/build/intermediates/res/merged/debug/values-v24/values-v24.xml:4:   AAPT:检索项目的父项时出错:找不到匹配的资源   给定的名字   '机器人:TextAppearance.Material.Widget.Button.Colored'

     

/Users/waltermonecke/Code_Projects/reactNative/lisdo/android/app/build/intermediates/res/merged/debug/values-v24/values-v24.xml:3:   错误:检索项目的父项时出错:找不到任何资源   匹配给定的名称   '机器人:TextAppearance.Material.Widget.Button.Borderless.Colored'

     

/Users/waltermonecke/Code_Projects/reactNative/lisdo/android/app/build/intermediates/res/merged/debug/values-v24/values-v24.xml:4:   错误:检索项目的父项时出错:找不到任何资源   匹配给定的名称   '机器人:TextAppearance.Material.Widget.Button.Colored'

我认为此错误与this关于构建版本SDK的问题有关,但我已经尝试了所有内容但没有成功。

我已经进行了大约6个小时,真的需要一些帮助。

的build.gradle:

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    applicationId "com.lisdo"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }
...
}

dependencies {
compile project(':react-native-google-places')
compile project(':react-native-fetch-blob')
compile project(':react-native-image-picker')
compile project(':react-native-vector-icons')
compile project(':react-native-fbsdk')
compile project(':react-native-linear-gradient')
compile project(':react-native-video')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+"  // From node_modules
}

1 个答案:

答案 0 :(得分:0)

在create-react-native软件包上检查this comment,似乎某些模块使用的是本机模块的版本,而不是您在应用程序的本机端使用的版本,因此从库中可以不会获取资产。

在您的android/build.gradle文件末尾的RN目录下添加此行。

subprojects { 
     afterEvaluate { 
         project -> if (project.hasProperty("android")) { 
             android { 
                 compileSdkVersion 26 
                buildToolsVersion '26.0.2' 
             } 
         } 
     } 
 }

它只是强制将版本设置为您设置的版本。

  

它是android/build.gradle而不是android/app/build.gradle