Android 找不到渐变生成错误样式属性

Android 找不到渐变生成错误样式属性,android,android-studio,gradle,Android,Android Studio,Gradle,我试图通过从GitHub签出git将我的项目回滚到以前的版本,但我认为我做得不对。我刚刚删除了本地项目,并在android studio上签出了git地址。但是,gradle无法生成并显示以下消息: 我导航到显示style attr not found的行,并选择find usage,但它显示no usage in this project。我还尝试删除twitter工具包并再次加载,然后加载一个旧版本的版本,这两个版本仍然存在这个问题。如何解决这个问题? 该项目从一开始就是使用安卓studi

我试图通过从GitHub签出git将我的项目回滚到以前的版本,但我认为我做得不对。我刚刚删除了本地项目,并在android studio上签出了git地址。但是,gradle无法生成并显示以下消息:

我导航到显示style attr not found的行,并选择find usage,但它显示no usage in this project。我还尝试删除twitter工具包并再次加载,然后加载一个旧版本的版本,这两个版本仍然存在这个问题。如何解决这个问题?

该项目从一开始就是使用安卓studio 3.0 canary构建的。这是app gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "..."
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 3
        versionName "beta1"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    testCompile 'junit:junit:4.12'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:support-v4:26.0.0'
    compile 'com.android.support:recyclerview-v7:26.0.0'
    compile 'com.twitter.sdk.android:twitter:3.1.0'
    compile 'com.jakewharton:butterknife:8.7.0'
    compile 'com.squareup.okhttp3:logging-interceptor:3.8.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    annotationProcessor 'com.github.bumptech.glide:glide:3.7.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
    implementation 'com.android.support:appcompat-v7:26.0.0'
    implementation 'com.android.support:design:26.0.0'
}
和另一个生成文件:

buildscript {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha9'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

这是主题和风格的问题。可能您的某个库希望该样式可用,但却找不到它。请参见此处,了解如何填写可能适合您的特定属性

根据谷歌的差异,这一资源似乎是在2013年引入的


更改themes.xml,然后从清单中使用它,或者更改styles.xml,如果操作不当,可能会导致这些副作用。

将首选项支持库v7依赖项添加到Gradle解决了我的一个问题。它支持@style/PreferenceThemeOverlay缺少的属性

将以下行放到build.gradle模块中:


com.android.support:preference-v7:27.1.1

如果将主题样式与parent=“android:theme.DeviceDefault”一起使用,则应使用

<item name="android:windowActionBar">false</item>
false
而不是

<item name="windowActionBar">false</item>
false

或者将主题样式从“android:theme.DeviceDefault”更改为“theme.AppCompat.Light.DarkActionBar”,这也可能解决其他一些样式问题。

2020更新:不幸的是,他们似乎还没有解决这个问题,所以解决方案是简单地降级渐变版本。例如,将其更改为:

classpath'com.android.tools.build:gradle:3.6.3'

classpath'com.android.tools.build:gradle:3.5.1'


它会工作。

您可以尝试一个
构建/清理项目
,然后重新启动
文件/无效缓存
?原因是,如果存在合并/生成的XML和来自git的外部更新,则生成的XML可能引用了此回滚版本中来自上游的类。某些XML文件已丢失,并且不会生成引用错误。我想我在合并时选择了错误的基本分支。非常感谢@DavidDrawson这真是太蠢了…我相信大多数人都不会遇到这个…但是我的attr名字有一个拼写错误,所以后来我拼写正确时没有找到它。。是的,这是一个主题问题。我有一个未使用的样式引用了库中的私有颜色属性。删除了样式,现在效果很好。非常感谢@法比奥,你能看看我的问题吗?这对我很有帮助,我使用了其他版本,但使用AndroidX//Java语言实现“AndroidX.preference:preference:1.1”//Kotlin实现”AndroidX.preference:preference ktx:1.1.1“这对我不起作用。从3.6.0升级到gradle版本4.1.1时,我面临类似的问题。对我来说,错误是-AAPT:error:style属性“android:attr/contextPopupMenuStyle”未找到。我认为我们可以做点什么来解决这个问题,而不是降级(或者在我的情况下不更新)来解决这个问题,不是吗?