Android studio 1.4 и векторное изображение

Сегодня я обновляю студию Android до версии 1.4. Я видел в списке изменений, что вы можете скомпилировать приложение с векторным изображением также для api <21. Я попробовал. Я изменил версию градиента от 1.3.0 до 1.4.1 и реализовал векторное изображение вместо растра. Во время процесса строительства я получаю эту ошибку:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_51\bin\java.exe'' finished with non-zero exit value 2 

Извините за мой плохой английский. Надеюсь, вы понимаете. Заранее спасибо.

Шаг 1. Сначала попробуйте очистить и перезапустить свой проект и посмотреть, будет ли он работать для вас. В большинстве случаев он будет решать ваши проблемы.

Шаг 2. Если для вас это не получается, это означает, что вам нужно включить режим MultiDex.

Поддержка Multidex для Android 5.0 и выше

Android 5.0 и выше использует среду выполнения, называемую ART, которая поддерживает загрузку нескольких файлов dex из файлов APK приложения. ART выполняет предварительную компиляцию во время установки приложения, которая сканирует файлы классов (..N) .dex и компилирует их в один файл .oat для исполнения устройством Android. Дополнительные сведения о времени выполнения Android 5.0 см. В разделе Введение в ART.

Это означает, что ваше приложение будет работать нормально на уровне API 21 или выше.

Поддержка Multidex до Android 5.0

Версии платформы до Android 5.0 используют рабочую среду Dalvik для выполнения кода приложения. По умолчанию Dalvik ограничивает приложения одним файлом байт-кода classes.dex на APK. Чтобы обойти это ограничение, вы можете использовать библиотеку поддержки multidex, которая станет частью основного файла DEX вашего приложения, а затем управляет доступом к дополнительным файлам DEX и содержащемуся в них коду.

Итак, во-первых, убедитесь, что вы импортировали правильную зависимость, что, кажется, можно сделать ниже.

 dependencies { // Change as per the latest dependency compile 'com.android.support:multidex:1.0.1' } 

В манифесте добавьте класс MultiDexApplication из библиотеки поддержки multidex в элемент приложения.

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> <application ... android:name="android.support.multidex.MultiDexApplication"> ... </application> </manifest> 

Альтернативно этому, если ваше приложение расширяет класс Application , вы можете переопределить метод attachBaseContext() и вызвать MultiDex.install(this) чтобы включить multidex .

 public void onCreate(Bundle arguments) { MultiDex.install(getTargetContext()); super.onCreate(arguments); ... } 

Наконец, вам нужно будет обновить файл build.gradle, как показано ниже, добавив multiDexEnabled true :

 defaultConfig { applicationId '{Project Name}' minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" multiDexEnabled true } 

Надеюсь, это поможет вам.

Попробуйте включить свойства build.gradle файл build.gradle :

 defaultConfig { multiDexEnabled true } 

У меня была такая же проблема, когда я использовал более низкую версию инструментов для сборки. Попробуйте обновить версию сборки, например, она работает для меня, когда я использую v23.

 buildToolsVersion "23.0.1"