找不到与给定名称匹配的资源(在' dialogCornerRadius'值为'?android:attr / dialogCornerRadius')

时间:2018-03-08 10:50:36

标签: android gradle dependencies build-error

任何人都可以帮助我在下面收到错误的原因吗?

  

错误:(7,41)找不到与给定名称匹配的资源(at,at   ' dialogCornerRadius'有价值'?android:attr / dialogCornerRadius')。

apply plugin: 'com.android.application'

//Add these lines
def Base_URL = '"' + WEBServiceBaseURL + '"' ?: '"Define BASE URL"';
def SMS_Base_URL = '"' + WEBServiceBaseSMSURL + '"' ?: '"Define SMS BASE URL"';

android.buildTypes.each { type ->
    type.buildConfigField 'String', 'Base_URL', WEBServiceBaseURL
    type.buildConfigField 'String', 'SMS_Base_URL', WEBServiceBaseSMSURL
}

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "com.bla.bla"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled  true
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:design:+'
    compile files('libs/jxl-2.6.jar')
    compile 'com.google.gms:google-services:+'

    compile 'com.google.firebase:firebase-core:11.8.0'
    compile 'com.google.firebase:firebase-messaging:11.8.0'
}

apply plugin: 'com.google.gms.google-services'

9 个答案:

答案 0 :(得分:46)

我通过选择

解决了这个问题
  

API 27+:Android API 27,P预览(预览)

在项目结构设置中。下图显示了我的设置。构建应用程序时出现的13个错误已经消失。

My Gradle settings

答案 1 :(得分:10)

设置您的 compileSdkVersion 28 让android studio下载平台文件

答案 2 :(得分:3)

将第compile 'com.android.support:design:+'行更改为compile 'com.android.support:design:26.+'

构建项目时的gradle依赖项是从+告诉它“获取最新版本”以来的最新版本。 26.+将告诉构建过程仅更新最新版本的v26。

或者更加具体和安全,将行更改为特定版本,完全避免+。即compile 'com.android.support:design:27.1.0'

答案 3 :(得分:3)

如果在您的应用程序级别中,如果您使用过compileSdkVersion = 27,则它将无法工作。 您必须使用版本28。

compileSdkVersion 28 buildToolsVersion '28.0.3'

答案 4 :(得分:1)

更改gradle中的以下依赖项:

compile 'com.android.support:design:+'

为:

compile 'com.android.support:design:26.1.0'
'com.android.support:appcompat-v7:26.+'

为:

'com.android.support:appcompat-v7:26.1.0'

请注意,您可以指定任何版本,但请确保它们都具有相同的版本。

这将确保未创建values-28.xml文件。

答案 5 :(得分:0)

在大家的帮助下,我可以解决这个问题&在较低版本中运行应用程序

我更新的build.gradle如下所示。

特别感谢那里的所有天才!

apply plugin: 'com.android.application'
android.buildTypes.each { type ->
    type.buildConfigField 'String', 'Base_URL', WEBServiceBaseURL
    type.buildConfigField 'String', 'SMS_Base_URL', WEBServiceBaseSMSURL
}

android {
    compileSdkVersion 27
    buildToolsVersion "26.0.2"
    defaultConfig {
        applicationId "com.dummy.dummy"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled  true
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            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'
    })
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:design:26.+'
    compile files('libs/jxl-2.6.jar')
    compile 'com.google.gms:google-services:+'
    compile 'com.google.firebase:firebase-core:11.8.0'
    compile 'com.google.firebase:firebase-messaging:11.8.0'
}

apply plugin: 'com.google.gms.google-services'

答案 6 :(得分:0)

忘记动态依赖关系,并用固定的特定版本替换它们:

错误:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:design:+'
    compile files('libs/jxl-2.6.jar')
    compile 'com.google.gms:google-services:+'

    compile 'com.google.firebase:firebase-core:11.8.0'
    compile 'com.google.firebase:firebase-messaging:11.8.0'
}

正确:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.1.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:design:26.1.0'
    compile files('libs/jxl-2.6.jar')
    compile 'com.google.gms:google-services:3.1.1'

    compile 'com.google.firebase:firebase-core:11.8.0'
    compile 'com.google.firebase:firebase-messaging:11.8.0'
}

答案 7 :(得分:0)

未成功迁移到AndroidX后,得到了相同的错误。 我还原了Android Studio所做的所有更改,清理了项目,无效的缓存/重启以及许多其他操作,但是都没有运气。 最后,我发现Android Studio向gradle.properties添加了两行:

android.useAndroidX=true
android.enableJetifier=true

删除这些行后,一切恢复正常。

答案 8 :(得分:0)

我尝试了所有,但没有成功。最终,在我将platform / android / project.properties中的目标更改为28后,它起作用了。

更改

target=android-26

target=android-28

谢谢