gpt4 book ai didi

android - 多个dex文件定义 Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;

转载 作者:行者123 更新时间:2023-12-03 05:15:46 30 4
gpt4 key购买 nike

我在多个论坛和相关答案中看到了这个错误,我尝试了所有但它似乎对我的情况不起作用。让我简单介绍一下我的环境。我正在使用 sunjdk 1.7 和 androidsdk 21 在 mac osx 10.7.5 上运行 Gradle 2.4。我的 android 项目是在 eclipse juno 中设置的,我正在尝试使用“gradle clean”、“gradle build”命令在终端中构建它。

下面是 build.gradle 文件

buildscript {
repositories {
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots'
}
mavenCentral() // or jcenter()
}

dependencies {
classpath 'com.android.tools.build:gradle:1.2.3' // 1.3.0-beta3
}
}

apply plugin: 'com.android.application'

dependencies {
compile fileTree(dir: 'libs', include: '*.jar')

compile ('com.android.support:appcompat-v7:21.0.3') {
exclude module: 'support-annotations'
}
compile ('com.android.support:recyclerview-v7:21.0.3') {
exclude module: 'support-annotations'
exclude module: 'support-v4'
}
compile 'com.android.support:cardview-v7:21.0.3'

compile "org.igniterealtime.smack:smack-android-extensions:4.1.2"
compile "org.igniterealtime.smack:smack-tcp:4.1.2"
}

android {
compileSdkVersion 21
buildToolsVersion "19.1.0"

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src/main/java']
aidl.srcDirs = ['src/main/java']
renderscript.srcDirs = ['src/main/java']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}


// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
}


}

下面是我的命令“./gradlew -q dependencies”的输出
compile - Classpath for compiling the main sources.
+--- com.android.support:appcompat-v7:21.0.3
| \--- com.android.support:support-v4:21.0.3
+--- com.android.support:recyclerview-v7:21.0.3
+--- com.android.support:cardview-v7:21.0.3
+--- org.igniterealtime.smack:smack-android-extensions:4.1.2
\--- org.igniterealtime.smack:smack-tcp:4.1.2

看起来依赖输出中没有任何重复的 jars/modules。但是,在运行“gradle build”时,出现以下错误
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)

:dexDebug FAILED

FAILURE: Build failed with an exception.

请帮帮我。看来我不会永远解决这个错误。

最佳答案

最后我设法找到解决方案。问题是由于我的项目的 lib 文件夹包含 android-appcompat-support-v4.jar 和 android-appcompat-support-v13.jar。我从项目 lib 文件夹中删除了它们,因为 gradle 正在使用 maven 加载这些 jar,因此导致重复。

从项目的 lib 文件夹中删除上述 jars 是解决此问题的关键。

关于android - 多个dex文件定义 Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31261407/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com