自1.0版发布以来,我终于要移至AS了。我对Gradle的了解不多,所以请多多包涵。我已经找到了一些答案,这些答案似乎使我处于正确的轨道,但是,我还没有找到一个通用的答案对我有帮助。 (大多数答案只是“用这个代替 jar 。”)。似乎我的某个依赖项在某处链接了两次,但是,我不确定在哪里...
这是我得到的错误
输出:UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/v4/view/PagerAdapter;
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)
这是我对主项目的依赖:dependencies {
compile project(':swipeBackLibrary')
compile 'com.android.support:appcompat-v7:19.1.0'
compile files('libs/android-support-v13.jar')
compile files('libs/libGoogleAnalyticsServices.jar')
}
我猜我在某处发生碰撞。如何检查PagerAdapter从何处获取其源代码?谢谢你们。
最佳答案
appcompat库包含支持库,该库是重复项的来源。由于您已将支持库作为jar文件包含在内,而不是通过Maven坐标进行引用,因此构建系统无法消除库的多个副本的歧义并防止错误发生。您可以通过移至支持库的基于坐标的规范来解决此问题:
dependencies {
compile project(':swipeBackLibrary')
compile 'com.android.support:appcompat-v7:19.1.0'
compile 'com.android.support:support-v13:19.1.0'
compile files('libs/libGoogleAnalyticsServices.jar')
}
关于android - 使用Gradle构建android项目时遇到问题(多个dex文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27391658/