Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why "This app has been built with an incorrect configuration" error occured in some phones?

I Have build my app in android 6 without any error, but when I build my app in android 4.4.2 I get this error

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

and this is my gradle:

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'
        }
    }
}

note: when I set compileSdkVersion 23, every thing is fine and there isn't any error.

like image 429
Hamidreza Shokouhi Avatar asked Jul 01 '16 11:07

Hamidreza Shokouhi


Video Answer


3 Answers

This worked well for me

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'
    }
}

}

Notice this in the above code:

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

and

generatedDensities = []

UPDATE

If this generatedDensities = [] is showing deprecated, use the following instead.

vectorDrawables.generatedDensities = []

Hope it helps

like image 171
BlackPearl Avatar answered Oct 24 '22 20:10

BlackPearl


This issue was alread reported here Issue 214182: appcompat-v7 24.0.0 is incompatible with rasterized vectors.

One of the developer mention:

What version of the Gradle plugin are you using?

As of v2.0 of the Gradle plugin, library resources are never rasterized so this should never happen.

The workaround for this is to update your Gradle by following this official link. Android Plugin for Gradle Release Notes.

buildscript {
  ...
  dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
  }
}
like image 22
Enzokie Avatar answered Oct 24 '22 19:10

Enzokie


if you are using rasterized vector drawables

for Gradle plugin 2.0+

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

for Gradle plugin before 2.0

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

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

you should add appcompat-v7 23.2.0+ to your build.gradle.for me,i am using

compile 'com.android.support:appcompat-v7:23.4.0'
like image 34
Richard Chan Avatar answered Oct 24 '22 20:10

Richard Chan