为什么"这个应用程序是使用不正确的配置构建的#34;某些手机​​出现错误?

时间:2016-07-01 11:08:16

标签: android android-gradle

我在android 6中构建我的应用程序没有任何错误,但是当我在android 4.4.2中构建我的应用程序时,我收到此错误

This app has been built with an incorrect configuration.
 Please configure your build for VectorDrawableCompat.

这是我的傻瓜:

android {
    compileSdkVersion 24
    buildToolsVersion "23.0.0"
    defaultConfig {
        applicationId "com.faranegar.channel"
        minSdkVersion 11
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

注意:当我设置compileSdkVersion 23时,一切都很好,并且没有任何错误。

4 个答案:

答案 0 :(得分:19)

这对我很有用

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    applicationId "com.example.app"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    generatedDensities = []
}

// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
    additionalParameters "--no-version-vectors"
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}

请注意以上代码:

// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
    additionalParameters "--no-version-vectors"
}

generatedDensities = []

<强>更新

如果显示此generatedDensities = []已弃用,请改用以下内容。

vectorDrawables.generatedDensities = []

希望有所帮助

答案 1 :(得分:17)

此问题已在此处报告 Issue 214182: appcompat-v7 24.0.0 is incompatible with rasterized vectors

其中一位开发者提到:

  

您使用的是什么版本的Gradle插件?

     

从Gradle插件的v2.0开始,库资源永远不会   光栅化,所以这永远不会发生。

此解决方法是按照此官方链接更新您的Gradle。 Android Plugin for Gradle Release Notes

buildscript {
  ...
  dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
  }
}

答案 2 :(得分:4)

如果您使用栅格化矢量绘图

for Gradle plugin 2.0 +

android {
  defaultConfig {
    vectorDrawables.useSupportLibrary = true
    ...
  }
}

用于2.0之前的Gradle插件

android {
  defaultConfig {
    generatedDensities = []
    ...  
  }

  aaptOptions {
   additionalParameters "--no-version-vectors"
  }
}

你应该将appcompat-v7 23.2.0+添加到build.gradle.for me,我正在使用

compile 'com.android.support:appcompat-v7:23.4.0'

答案 3 :(得分:0)

这在我用JUnit和Robolectric进行单元测试时发生了。如果是这种情况,则可能需要将其添加到android部分中的gradle文件中。我就是这样修复的:

    testOptions {
        unitTests {
            includeAndroidResources = true
        }
    }