程序类型已存在:android.support.v4.app.BackStackState $ 1

时间:2018-05-31 02:22:09

标签: android

我升级了我的android工作室..我在最新版本中发现了很多问题

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

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

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

gradle文件:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

app gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "27.0.3"

    defaultConfig {
        applicationId "com.guideapp.trickapp"
        minSdkVersion 14
        targetSdkVersion 23

        ndk {
            moduleName "player_shared"
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    externalNativeBuild {
        ndkBuild {
            path '../../../Application.mk'
        }
    }
}

dependencies {
    compile 'com.google.android.gms:play-services:+'
    compile files('libs/dagger-1.2.2.jar')
    compile files('libs/javax.inject-1.jar')
    compile files('libs/nineoldandroids-2.4.0.jar')
    compile files('libs/support-v4-19.0.1.jar')
}

3 个答案:

答案 0 :(得分:4)

只需添加implementation 'com.android.support:support-v4:28.0.0'。不要忘记更改使用的版本。

答案 1 :(得分:3)

请勿使用以下内容:

compile 'com.google.android.gms:play-services:+'

因为您必须使用精确版本的播放服务。并且只使用您的应用使用的特定Google Play服务API。例如,如果您使用的是位置,则只需要以下依赖项:

implementation 'com.google.android.gms:play-services-location:15.0.1'

Set Up Google Play Services

了解详情

然后将支持库更改为buildToolsVersion的同一版本。因此,您需要更改以下内容:

implementation files('libs/support-v4-19.0.1.jar')

implementation 'com.android.support:support-v4:27.1.1'

libs 目录中删除support-v4-19.0.1.jar文件。

最后,对以下内容使用相同的版本:

  1. compileSdkVersion
  2. buildToolsVersion
  3. targetSdkVersion
  4. 我的建议,使用 27 版本。因此,您的应用 build.gradle将是这样的:

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 27
        buildToolsVersion "27.0.3"
    
        defaultConfig {
            applicationId "com.guideapp.trickapp"
            minSdkVersion 14
            targetSdkVersion 27
    
            ndk {
                moduleName "player_shared"
            }
        }
    
        ...
    
    }
    
    dependencies {
        implementation 'com.google.android.gms:play-services-location:15.0.1'
        compile files('libs/dagger-1.2.2.jar')
        compile files('libs/javax.inject-1.jar')
        compile files('libs/nineoldandroids-2.4.0.jar')
        implementation 'com.android.support:support-v4:27.1.1'
    
    }
    

答案 2 :(得分:0)

jsut在应用程序级别build.gradle中添加了android支持设计依赖项...

假设 实现'com.android.support:design:27.1.1',如果这是 实施'com.android.support:appcompat-v7:27.1.1'