程序类型已存在错误

时间:2018-04-02 09:10:19

标签: java android gradle

虽然存在许多类似的问题,但我检查了所有答案,但没有一个对我有效!

以下是编译代码时遇到的错误:

Program type already present: android.support.v4.app.BackStackRecord$Op
Message{kind=ERROR, text=Program type already present: android.support.v4.app.BackStackRecord$Op, sources=[Unknown source file], tool name=Optional.of(D8)}

这是我的gradle文件:

apply plugin: 'com.android.application'

android {
   compileSdkVersion 27
   defaultConfig {
       applicationId "com.narsun.grocery"
       minSdkVersion 21
       targetSdkVersion 27
       versionCode 1
       versionName "1.0"
       multiDexEnabled true
       testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
   }
   buildTypes {
       release {
           minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
       }
   }
   packagingOptions {

       exclude 'META-INF/DEPENDENCIES.txt'
       exclude 'META-INF/LICENSE.txt'
       exclude 'META-INF/NOTICE.txt'
       exclude 'META-INF/NOTICE'
       exclude 'META-INF/LICENSE'
       exclude 'META-INF/DEPENDENCIES'
       exclude 'META-INF/notice.txt'
       exclude 'META-INF/license.txt'
       exclude 'META-INF/dependencies.txt'
       exclude 'META-INF/LGPL2.1'

   }
}

dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
       exclude group: 'com.android.support', module: 'support-annotations'

   })
   implementation 'com.android.support:appcompat-v7:27.1.0'
   implementation 'com.android.support:cardview-v7:27.1.0'
   implementation 'com.android.support:design:27.1.0'
   implementation 'com.android.support.constraint:constraint-layout:1.0.2'

   implementation 'com.github.sd6352051.niftydialogeffects:niftydialogeffects:1.0.0@aar'
   implementation 'com.squareup.picasso:picasso:2.5.2'
   implementation 'com.squareup:android-times-square:1.6.5@aar'
   implementation 'com.daimajia.slider:library:1.1.5@aar'
   implementation 'com.astuetz:pagerslidingtabstrip:1.0.1'
   implementation 'de.hdodenhof:circleimageview:2.2.0'
   implementation 'com.github.myinnos:AwesomeImagePicker:1.0.2'
   implementation 'com.github.ratty3697:android-smart-animation-library:1.6'
   implementation 'com.github.zcweng:switch-button:0.0.3@aar'
   implementation 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
   implementation 'com.google.android.exoplayer:exoplayer:2.6.1'
   implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.10'
   implementation 'com.android.support:multidex:1.0.3'

   testImplementation 'junit:junit:4.12'

}

您可以告诉我是否还有其他内容可以添加,以了解我正在做什么或我错在哪里。

5 个答案:

答案 0 :(得分:3)

软件包版本可能不兼容。尝试降级com.android.support个软件包,即appcompat

所以 - implementation 'com.android.support:appcompat-v7:27.0.1'

答案 1 :(得分:3)

如果有人来这里遇到类似的问题。在我的情况下,这是因为我在libs文件夹中包含了一个appcompat JAR文件,并且实现了com.android.support:appcompat-v7:26.0.0'在我的gradle文件中。

当我删除JAR文件时,解决了我的问题。

答案 2 :(得分:2)

我想分享一下您如何理解错误消息。

第一种方法,在dependencies中检查您的build.gradle

enter image description here

在这种情况下,如果我尝试删除该implementation,则错误消失了。

第二种方法,检查应用程序中包含.jar文件的libs文件夹:

enter image description here

在这种情况下,如果我尝试将.jar移至其他位置,则错误消失了。

答案 3 :(得分:1)

对于其他将面临同样错误的人的信息,我可以通过从gradle文件中删除以下库来解决我的问题:

implementation 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'

这是图书馆为我创造问题。感谢

答案 4 :(得分:0)

我在aar文件夹中包含了自定义app/libs,并且正确flatLib对象添加到了根build.gradle中,但错误地'*.aar'添加到了fileTree中的app/build.gradle实现中:


build.gradle

allprojects {
    repositories {
        ...
        flatDir {
            dirs 'libs'
        }

    }
}

app / build.gradle

implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'])
                                                 ^^^
                                                 BAD