使用Material Components和androidX编译Android应用时出错

时间:2018-11-07 08:45:41

标签: android themes material androidx

Android应用程序突然拒绝构建,它返回此错误:

  

Android资源链接失败    错误:资源样式/Theme.MaterialComponents.Light.NoActionBar(又名   it.duemilanet.icircle:style / Theme.MaterialComponents.Light.NoActionBar)   找不到。

     

D:\ GitLab \ iCircleAndroidRMA \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values \ values.xml:1440:   错误:样式属性'attr / colorSecondary(aka   it.duemilanet.icircle:attr / colorSecondary)找不到。       错误:资源样式/Widget.Design.BottomSheet.Modal(又名it.duemilanet.icircle:style / Widget.Design.BottomSheet.Modal)不   找到了。       错误:资源样式/Theme.Design.Light.BottomSheetDialog(又名it.duemilanet.icircle:style / Theme.Design.Light.BottomSheetDialog)不   找到了。       D:\ GitLab \ iCircleAndroidRMA \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values \ values.xml:3296:   错误:样式属性'attr / bottomSheetStyle(aka   it.duemilanet.icircle:attr / bottomSheetStyle)找不到。       错误:链接引用失败。

之前编译还不错,几周前我切换到了androidX和材料组件主题,并启用了jetifier没问题

build.gradle:

buildscript {

    repositories {

        google()
        jcenter()

        maven {
            url 'https://maven.fabric.io/public'
        }

    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0-alpha09'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
        classpath 'com.google.gms:google-services:4.0.2'
        classpath 'io.fabric.tools:gradle:1.25.4'
    }

}

allprojects {

    repositories {

        google()
        jcenter()

        maven {
            url 'https://maven.google.com/'
        }

    }

}

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

应用程序构建。gradle:

apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "it.duemilanet.icircle"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 3334
        versionName "3.3.3.4"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dataBinding {
        enabled true
    }
}

greendao {
    schemaVersion 1
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-scalars:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.6.0'
    implementation 'io.sentry:sentry-android:1.7.5'
    implementation 'org.simpleframework:simple-xml:2.7.1'
    implementation 'org.greenrobot:greendao:3.2.2'
    implementation 'com.synnapps:carouselview:0.1.5'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.bskim:maxheightscrollview:1.0.0@aar'
    implementation 'com.google.firebase:firebase-core:16.0.5'
    implementation 'com.google.firebase:firebase-messaging:17.3.4'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'
    implementation 'com.pspdfkit:pspdfkit:4.8.1'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'org.apache.commons:commons-compress:1.18'
    implementation 'androidx.databinding:databinding-runtime:3.3.0-alpha12'
    implementation 'com.jakewharton:butterknife:9.0.0-rc1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
}

repositories {
    mavenCentral()
    maven {
        url "https://oss.sonatype.org/content/repositories/snapshots"
    }
    maven {
        url 'https://customers.pspdfkit.com/maven/'
        credentials {
            username 'pspdfkit'
            password 'PASSWORD'
        }
    }
}

apply plugin: 'com.google.gms.google-services'
  • 我试图禁用Instant Run并恢复到材料库的先前版本,但是我无法修复该错误。

2 个答案:

答案 0 :(得分:0)

尝试从Invalidate Cashes / Restart的{​​{1}}菜单中Android Studio

答案 1 :(得分:0)

材料设计文档中引用了多个组件,而这些组件尚未在Android的材料设计库的稳定版本中发布。尝试改用Alpha版本。

将以下内容添加到您的build.gradle

dependencies { 
    ...
    implementation 'com.google.android.material:material:1.2.0-alpha02'
}