2016-08-10 3 views
6

Я использую Android Studio 2.1.2. Я начал новый проект с minSdkVersion как 19. Моя активность расширяет AppCompatActivity. Проект начинается с пустого действия с использованием фрагмента.Панель инструментов: IllegalStateException - настройка вашей сборки для VectorDrawableCompat

При просмотре content_main.xml с API 24 все хорошо. при просмотре API 19, я получаю следующую задачу рендеринга:

The following classes could not be instantiated: 
- android.support.v7.widget.Toolbar 
java.lang.IllegalStateException: This app has been built with an incorrect configuration. Please configure your build for VectorDrawableCompat 

я добавил все, что я нашел отношение к Gradle (2 файлов):

classpath 'com.android.tools.build:gradle:2.1.2' 
**vectorDrawables.useSupportLibrary = true** 
buildToolsVersion "24.0.1" 
compile 'com.android.support:appcompat-v7:24.1.1' 
**compile "com.android.support:support-v4:24.1.1"** 
compile 'com.android.support:design:24.1.1 

Но все-таки появляется ошибка. Я нашел много ответов в Интернете. Но никто не помог. Есть ли проблема с использованием новой панели инструментов с API 19?

+1

Просто хотел бы отметить, что зависимость «дизайн поддержки» включает как v 4 и v7 (в случае, если вы пытаетесь сузить проблему) –

+0

перед тем же вопросом, не могли бы вы решить проблему? – Jaydev

ответ

0

из этого Google Issue

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

проверки этого вопроса для получения дополнительной помощи.

UPDATE

настроит приложение build.gradle файла следующего

android { 
    defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
    } 
} 

dependencies { 
    compile 'com.android.support:appcompat-v7:23.3.0' 
} 

Источник Age Of Vectors

+1

попробовал это тоже, не помогло – Amos

+0

Оформить заказ этой статьи [возраст вектора] (https://medium.com/@chrisbanes/appcompat-v23-2-age-of-the-vectors-91cbafa87c88#.7359c69qs) – skydroid

0

Во-первых, есть два типа Gradle файлов.

  1. build.gradle(Project: ProjectName)
  2. build.gradle(Module: app)

Для получения дополнительной информации об этих двух файлах, пройти через этот answer.

Приходя к вашему вопросу,

Я нашел много ответов на сети, но никто не помог. Я использую Android Studio 2.1.2, моя деятельность расширяет AppCompatActivity и добавила к градиенту (2 файла), что я нашел нужным: но при этом появляется ошибка .

От всего, что вы опубликовали, похоже, что вы не добавили правильных вещей в нужные места.

Вы не должны размещать зависимости приложения в build.gradle(Project: ProjectName) - Android-студия говорит,

// Примечание: Не размещать зависимости приложения здесь; они принадлежат

// в отдельном модуле сборки.Gradle файлы

Следовательно, заменить зависимостей в build.gradle(Project: ProjectName) с ниже

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

Меняйте зависимостей в build.gradle(Module: app) с ниже

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:24.1.1' 
    compile 'com.android.support:design:24.1.1' 
} 

После этого, как упоминалось выше, вы увидите "Sync Now "в правом верхнем углу. Нажмите на нее. Android Studio позаботится о других вещах.

Также это question похоже на ваше. Пройти через это. Это может помочь.

0

Добавить:

build.gradle

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

А на верхней части Activity класса:

static { 
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); 
} 

И одна последняя вещь, кладете vector drawables в любых других, как selector вводимого коэффициента , LayerList и т. Д. Что-то вроде ниже:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/drawable_vector" /> 
</selector> 

И используйте это выше, чтобы вытащить везде, вместо того, чтобы напрямую устанавливать векторные чертежи. Это будет и в других местах, когда вы хотите использовать векторные чертежи на устройствах с предварительным леоптипом.

6

Это хорошо работало для меня

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 = [] 
+1

Это сработало для меня. благодаря! –

+1

Это сработало и для меня – sandy

Смежные вопросы