【问题标题】:Android support v4安卓支持 v4
【发布时间】:2015-04-22 14:34:49
【问题描述】:

我的项目有问题。当我尝试构建我的项目时,此错误出现在日志中:

Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
  /Users/pawelkoperdowski/Documents/Android/sdk/build-tools/22.0.1/dx --dex --no-optimize --output /Users/pawelkoperdowski/Documents/Android/Superplanner/superplanner-android/app/build/intermediates/dex/debug --input-list=/Users/pawelkoperdowski/Documents/Android/Superplanner/superplanner-android/app/build/intermediates/tmp/dex/debug/inputList.txt
  Error Code:
  2
  Output:
  UNEXPECTED TOP-LEVEL EXCEPTION:
  com.android.dex.DexException: Multiple dex files define Ljavax/inject/Provider;
  at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
  at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
  at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
  at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
  at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
  at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
  at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
  at com.android.dx.command.dexer.Main.run(Main.java:246)
  at com.android.dx.command.dexer.Main.main(Main.java:215)
  at com.android.dx.command.Main.main(Main.java:106)

所以我在这里读到了一个问题,我应该将它添加到我的 gradle 文件中:

configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
}

但是现在在使用支持的类中我有这样的错误:

Error:(21, 33) error: package android.support.v4.widget does not exist

我的 gradle 文件:

apply plugin: 'com.android.application'
configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
}
android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'
    defaultConfig {
        applicationId 'pl.essentialapps.superplanner'
        minSdkVersion 14
        targetSdkVersion 22
        versionCode 1
        versionName '1.0'
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
    sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/2'] } }
}

repositories {
    maven {
        url "https://mint.splunk.com/gradle/"
    }
}


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile files('libs/gson-2.2.4.jar')
    compile files('libs/jsr305-1.3.9.jar')
    compile project(':facebook')
    compile files('libs/guava-18.0.jar')
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services:6.+'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    compile 'com.splunk.mint:mint:4.0.5'
    compile 'joda-time:joda-time:2.6'
    compile 'com.baoyz.pullrefreshlayout:library:1.0.1'
    compile 'org.roboguice:roboguice:3.+'
    provided 'org.roboguice:roboblender:3.+'
    compile 'com.android.support:support-v4:22.1.0'
}

我会非常感谢任何帮助:)

【问题讨论】:

  • 我看到你有 appcompat v7:22.0.0 并支持 v4:22.1.0。你能试着把它们放在同一个版本上吗?
  • 移除compile 'com.android.support:support-v4:22.1.0',因为支持库也在appcompat-v7中
  • 更新:您也必须删除“配置”块。
  • @ChrisK.: 我都设置为 22.0.0 并删除了配置块,但仍然是同样的错误
  • @EpicPandaForce 在您的解决方案之后我再次出现错误“错误:(5, 30)错误:包 android.support.v4.app 不存在”,之后我删除了配置块,并且然后它显示“意外的顶级异常:”:/

标签: android android-gradle-plugin android-support-library


【解决方案1】:

我建议你更新build.gradle:

compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.android.support:appcompat-v7:27.1.1'

compile 'com.android.support:design:27.1.1'

所有包含'com.android.support' 的字段都应以27.1.1 结尾(如我在您的程序中看到的那样替换22.0.0 或22.1.0。

【讨论】:

  • 同时删除那些行配置 { all*.exclude group: 'com.android.support', module: 'support-v4' }
猜你喜欢
  • 2010-10-22
  • 1970-01-01
  • 2014-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多