【问题标题】:What is "Program type already present"?什么是“程序类型已经存在”?
【发布时间】:2018-09-29 16:45:36
【问题描述】:

当我尝试构建我的项目时。我得到了这个错误

程序类型已存在:android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat Message{kind=ERROR, text=Program type already present: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat, sources=[Unknown source file], tool name=Optional.of(D8)}

我也在堆栈溢出中找到解决方案,但没有帮助。这是我的 build.gradle 文件

    apply plugin: 'com.android.application'android {
compileSdkVersion 28
defaultConfig {
    applicationId "com.example.hassan.qrscan"
    minSdkVersion 18
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}}dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'me.dm7.barcodescanner:zxing:1.9'
implementation 'com.journeyapps:zxing-android-embedded:3.0.2@aar'
implementation 'com.android.support:design:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'}

【问题讨论】:

    标签: android android-studio android-studio-3.1


    【解决方案1】:

    当您的项目具有重复库或具有不同版本的相同库时引发程序类型已存在错误。 您可以通过运行检查依赖关系图

    gradlew -q dependencies
    

    gradle -q dependencies
    

    (在你的类路径中需要 Gradle)

    把重复的库整理一下,去掉重复的,错误就消失了。

    【讨论】:

      【解决方案2】:

      我通过使用相同版本的 appcompact 和 design 解决了这个问题

       implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
       implementation 'com.android.support:design:28.0.0-alpha1'
      

      但现在我得到了这个错误

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

      【讨论】:

        【解决方案3】:
         implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
        

        将依赖版本降级到

         implementation 'com.android.support:appcompat-v7:27.1.0'
        

        同时添加设计依赖

         implementation 'com.android.support:design:27.1.0'
        

        一旦这对我有用,请检查它

        【讨论】:

        • 程序类型已存在:android.support.v4.app.FragmentTransitionCompat21$1 @harsh
        【解决方案4】:

        代替这两个依赖项

        implementation 'me.dm7.barcodescanner:zxing:1.9'
        implementation 'com.journeyapps:zxing-android-embedded:3.0.2@aar'
        

        添加这两行

        implementation('me.dm7.barcodescanner:zxing:1.9'){
           exclude module: 'support-v4'
        }
        
        implementation ('com.journeyapps:zxing-android-embedded:3.0.2@aar'){
           exclude module: 'support-v4'
        }
        

        希望这会奏效

        【讨论】:

          猜你喜欢
          • 2018-09-15
          • 2018-12-21
          • 2018-09-23
          • 2019-02-22
          • 1970-01-01
          • 2018-10-21
          • 1970-01-01
          • 2018-10-03
          相关资源
          最近更新 更多