Android Studio выдает исключение при попытке запустить приложение с поддержкой обратной регистрации и minSdkVersion = 17

#android #logback #android-multidex

#Android #logback #android-multidex

Вопрос:

Я пишу приложение для Android с Android Studio 2.2.
Я определил minSdkVersion 17 и добавил следующие библиотеки для использования logback-android:

 compile 'com.github.tony19:logback-android-core:1.1.1-6'
compile 'com.github.tony19:logback-android-classic:1.1.1-6'
compile 'ch.qos.logback:logback-classic:1.1.7'
  

После этого процесс сборки работает, но когда я пытаюсь выполнить на устройстве (виртуальном или реальном устройстве), процесс прерывается со следующим исключением.

 Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lch/qos/logback/classic/AsyncAppender;
  

Если я определяю minSdkVersion 19 , что никаких проблем нет, приложение создается и выполняется плавно на устройстве, но мне нужна minSdkVersion.

Вы можете легко воспроизвести проблему, просто создав простое приложение, добавив упомянутые библиотеки и определив minSdkVersion 17 .

Вы знаете, как это можно решить?

Заранее спасибо.


ОБНОВЛЕНО
Прикрепление файла build.gradle:

 apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    defaultConfig {
        applicationId "com.dcsoft.multidexfailurewithlogback"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:23.3.0'
    testCompile 'junit:junit:4.12'
    compile 'com.github.tony19:logback-android-core:1.1.1-6'
    compile 'com.github.tony19:logback-android-classic:1.1.1-6'
    compile 'ch.qos.logback:logback-classic:1.1.7'
}
  

ОБНОВЛЕНИЕ 2
Добавление моего MainActivity.java:

 package com.dcsoft.multidexfailurewithlogback;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

  private static final Logger LOGGER = LoggerFactory.getLogger(MainActivity.class);

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }
}
  

Комментарии:

1. пожалуйста, загрузите файл buil.gradle

2. очистите свой проект из Build> Clean Project, чем использовать File> Inavlidate Cache / Restart

3. Спасибо, Брахми, но это не работает, по крайней мере, в моем случае.

4. Спасибо, Вишал. Я загрузил файл.

5. Читая документ, я обнаружил, что вам нужно добавить compile 'org.slf4j:slf4j-api:1.7.21' . Это устранит ошибку.