Android 添加AAR和JAR时重复类条目

Android 添加AAR和JAR时重复类条目,android,jar,aar,Android,Jar,Aar,我有一个Java库,它被打包在JAR中,放在Android库中。然后将Android库打包为AAR并放入Android应用程序 在尝试启动Android应用程序时,出现以下错误: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/slf4j/LoggerFactory; Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.

我有一个
Java
库,它被打包在
JAR
中,放在
Android库中。然后将
Android库
打包为
AAR
并放入
Android应用程序

在尝试启动Android应用程序时,出现以下错误:

java.lang.NoClassDefFoundError: Failed resolution of: Lorg/slf4j/LoggerFactory;
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/.../AuthenticationOptions$1.class
SLF4J是
Java库
中的一个依赖项。这向我们展示了Android AAR并没有带来Java库中的依赖项(我通过谷歌搜索这个问题了解到了这一点)

因此-然后我决定,如果不带依赖项,我会将
Java库
Android库
添加到
Android应用程序

当我现在运行
Android应用程序
时,出现以下错误:

java.lang.NoClassDefFoundError: Failed resolution of: Lorg/slf4j/LoggerFactory;
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/.../AuthenticationOptions$1.class
两种方法都不行

Android应用程序
Gradle

应用插件:“com.android.application”

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1"

    defaultConfig {
        applicationId "my.application.id"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        multiDexEnabled true

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        disable 'InvalidPackage'
    }

    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
    }
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}

dependencies {
    compile(name:'android-library', ext:'aar')
    compile files('libs/java-library.jar')
    compile 'com.android.support:appcompat-v7:24.1.1'
    compile 'com.android.support:cardview-v7:24.1.1'
    compile 'com.android.support:design:24.1.1'
    compile 'com.android.support:support-v4:24.1.1'
    compile group: 'org.apache.httpcomponents', name: 'httpclient-android', version: '4.3.5.1'
    compile group: 'commons-codec', name: 'commons-codec', version: '1.5'
    testCompile 'junit:junit:4.12'
}

如果任何第三方库包含SLF4J,则无需在build中添加外部内容。gradleI不知道您的意思。请详细说明,你的身材在哪里,格雷德尔?邮递it@MD我已经添加了
Android应用程序的Gradle文件。@MD按照教程进行操作,但是,当我得到
Android库
时,它现在将
Java库
添加为
JAR
项目,它无法复制依赖项。。。