Android 如何删除通过gradle添加的重复库?
我在我的项目中使用了两个库。一个是,另一个是 每当我使用编辑测试库运行应用程序时,它都会显示意外的顶级异常:Android 如何删除通过gradle添加的重复库?,android,android-gradle-plugin,android-library,Android,Android Gradle Plugin,Android Library,我在我的项目中使用了两个库。一个是,另一个是 每当我使用编辑测试库运行应用程序时,它都会显示意外的顶级异常: Error:Execution failed for task ':mobile:dexDebug'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: E:\Android\me\me\sdk\build-tools\21.1.2\dx.bat --dex --no
Error:Execution failed for task ':mobile:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
E:\Android\me\me\sdk\build-tools\21.1.2\dx.bat --dex --no-optimize --output C:\Project\RemoteiT\RemoteiT\mobile\build\intermediates\dex\debug --input-list=C:\Project\RemoteiT\RemoteiT\mobile\build\intermediates\tmp\dex\debug\inputList.txt
Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener;
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)
我假设上面的错误表明com.nineodeldroid
被添加了两次或冲突
所以我试图在build.gradle文件中删除它。但它仍然显示错误
我的假设正确吗?还是其他地方出了问题
Build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "me.aruhan.remt"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
configurations {
// to avoid double inclusion of support libraries
all*.exclude group: 'com.nineoldandroids', module: 'materialDesign'
}
dependencies {
compile 'com.android.support:appcompat-v7:21.0.0'
compile project(':materialDesign')
compile 'com.rengwuxian.materialedittext:library:1.7.1'
}
转到文件>项目结构>模块内部选择您的>单击右侧的依赖项,查看是否存在重复库
还可以尝试使缓存失效/重新启动,而不是将其添加到配置中。我仅为库添加了排除,如下所示:
compile ('com.rengwuxian.materialedittext:library:1.7.1') {
exclude group: 'com.nineoldandroids', module: 'library'
}
如果错误是由于库的重复而发生的,则可以使用build.gradle文件中的PackageOptions
android {
....
packagingOptions {
exclude '.....'
pickFirst '.....'
}
}