【问题标题】:Error compiling Android app with Material Components and androidX使用 Material Components 和 androidX 编译 Android 应用程序时出错
【发布时间】:2019-04-10 16:17:34
【问题描述】:

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(又名 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(又名 it.duemilanet.icircle:attr/bottomSheetStyle)' 未找到。 错误:链接引用失败。

之前编译还不错,几周前我切换到 androidX 和 material components 主题并启用 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
}

app build.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 并恢复到之前版本的材料库,但无法修复错误。

【问题讨论】:

    标签: android themes androidx material-components-android


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      Android StudioFile 菜单尝试Invalidate Cashes / Restart

      【讨论】:

      • @Bek,您是否试图在所有问题上都写下这个以试图获得更多代表?为什么这样可以解决问题?这是否为您解决了问题?
      猜你喜欢
      • 1970-01-01
      • 2016-02-27
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      • 2021-12-12
      • 2018-10-09
      • 1970-01-01
      • 2021-06-27
      相关资源
      最近更新 更多