找不到Gradle构建错误样式属性

mkh04yzy  于 2023-02-19  发布在  其他
关注(0)|答案(5)|浏览(142)

我试图通过从GitHub checkout git来将项目回滚到以前的版本,但我认为我的方法不对。我只是删除了本地项目并 checkout 了android studio上的git地址。然而,gradle无法构建并显示以下消息:
我导航到显示style attr not found的行,然后选择find usage,但是它显示在这个项目中没有使用。我还尝试删除twitter工具包并再次加载它,然后加载一个旧版本,两者都仍然有这个问题。如何修复这个问题?

该项目从一开始就使用Android Studio 3.0 Canary构建。这是应用程序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
}
hmmo2u0o

hmmo2u0o1#

这是主题和样式的问题。可能你的库中有一个期望样式可用,但是没有找到。请看这里Cant set Android Actionbar Background correctly,作为如何填充可能适合你的特定属性的指南。
根据google的diffs here https://android.googlesource.com/platform/tools/base/+/f5215ae4712f468568b58c20baadd14b769c10c4%5E!/,这个资源似乎是在2013年引入的
更改themes.xml,然后从清单中使用它,或者更改styles.xml,如果操作不当,可能会导致这些副作用。

9q78igpj

9q78igpj2#

将偏好支持库v7依赖项添加到Gradle为我解决了一个问题。它支持@style/PreferenceThemeOverlay的缺失属性。
将以下行添加到您的build.gradle模块:
com.android.support:preference-v7:27.1.1

n9vozmp4

n9vozmp43#

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

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

classpath 'com.android.tools.build:gradle:3.5.1'
它会起作用的。

5jvtdoz2

5jvtdoz24#

如果您使用parent=“android:Theme.DeviceDefault”的主题样式,则应使用

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

代替

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

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

3htmauhk

3htmauhk5#

错误“AAPT:error:attribute android:style not found”通常发生在您尝试使用的样式或主题与您正在编译的Android版本不兼容时。
要在Material Design组件中使用样式,您需要确保使用的是与您编译时所针对的Android版本兼容的正确版本的Material Design支持库。
请确保您已在build.gradle文件中添加了Material Design支持库的正确依赖项,具体取决于您编译时使用的Android版本。例如,如果您正在针对API 28进行编译,请添加版本28的Material Design支持库依赖项:

dependencies {
   implementation 'com.google.android.material:material:1.2.1'
}

此外,请确保您没有在按钮上设置android:style属性,而是使用style属性设置样式:

<com.google.android.material.button.MaterialButton
...
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
.../>

我希望这有助于解决您所面临的错误。

相关问题