问题
I'm using Android Studio 1.5.1, Gradle 2.8 and my project min sdk vserion:14, target sdk version: 23.
So, When I add vectorDrawables to configuration by documentation Google: Added VectorDrawable support library, I get following error:
Error:(13, 0) Could not find property 'vectorDrawables' on ProductFlavor_Decorated{name=main, dimension=null, minSdkVersion=ApiVersionImpl{mApiLevel=14, mCodename='null'}, targetSdkVersion=ApiVersionImpl{mApiLevel=23, mCodename='null'}, renderscriptTargetApi=null, renderscriptSupportModeEnabled=null, renderscriptNdkModeEnabled=null, versionCode=25, versionName=1.0.25, applicationId=com.smsoft.alibaba, testApplicationId=null, testInstrumentationRunner=null, testInstrumentationRunnerArguments={}, testHandleProfiling=null, testFunctionalTest=null, signingConfig=null, resConfig=null, mBuildConfigFields={}, mResValues={}, mProguardFiles=[], mConsumerProguardFiles=[], mManifestPlaceholders={}}.
this is my build.gradle file:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.smsoft.alibaba"
minSdkVersion 14
targetSdkVersion 23
versionCode 25
versionName "1.0.25"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.0'
compile 'com.android.support:design:23.2.0'
compile 'com.android.support:support-v4:23.2.0'
compile 'com.android.support:cardview-v7:23.2.0'
}
Anybody know how to fix this problem ?
EDIT
Thanks to @Gabriele Mariotti to signal for my confused between gradle and gradle plugin. I'm confused when reading the addition of Compact Vector Drawables instructions.
回答1:
If you’re using v2.0 or above of the Gradle plugin you have to use:
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
If you hare using v1.5.0 or below of the Gradle plugin you need to add the following to your app’s build.gradle
:
android {
defaultConfig {
// Stops the Gradle plugin’s automatic rasterization of vectors
generatedDensities = []
}
// Flag to tell aapt to keep the attribute ids around
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
Don't confuse gradle with the gradle plugin. Check the build.gradle
in the root folder (or inside the module) to get the version used by the gradle plugin (check the line classpath 'com.android.tools.build:gradle:1.5.0'
)
回答2:
Specifically to upgrade from com.android.tools.build:gradle:1.5.0
.
Edit /build.gradle and set:
buildscript { ... dependencies { ... classpath 'com.android.tools.build:gradle:2.0.0' ... } }
Edit /gradle/wrapper/gradle-wrapper.properties and set:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
Edit your module(s)' build.gradle and add:
android { ... defaultConfig { ... vectorDrawables.useSupportLibrary = true } ... }
回答3:
I experienced this issue with Gradle plugin on v3.4.2. It prevented project sync's from completing.
The issue was resolved by removing vectorDrawables
and adding vectorDrawables.useSupportLibrary = true
to the defaultConfig
.
OLD
android {
compileSdkVersion 29
buildToolsVersion "29.0.1"
defaultConfig {
applicationId "com.example.android.diceroller"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}vectorDrawables
}
NEW
android {
compileSdkVersion 29
buildToolsVersion "29.0.1"
defaultConfig {
applicationId "com.example.android.diceroller"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
来源:https://stackoverflow.com/questions/35693288/android-studio-1-5-1-could-not-find-property-vectordrawables