我使用ant release并得到这个错误:
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.util.DexException: Multiple dex files define Lcom/android/vending/billing/IMarketBillingService;
[dx] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:580)
[dx] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:538)
[dx] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:519)
[dx] at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168)
[dx] at com.android.dx.merge.DexMerger.merge(DexMerger.java:186)
[dx] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:232)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:174)
[dx] at com.android.dx.command.Main.main(Main.java:91)
我有同样的错误,但答案没有帮助我
我试着:
- 重新安装android sdk到其他目录
- 删除bin/gen目录并清理项目
- 删除和添加eclipse中的库
- android API从17改为10 确保我的bin文件夹不包含在我的构建路径
我有1个主要项目和2个lib项目(Facebook和扩展文件下载器)
谢谢你的回答!
请检查包中是否包含com/android/vending/billing/IMarketBillingService在您的项目设置中被引用两次或两次以上
当两个相同的jar被导入到项目中时,就会发生这种异常。Android试图构建索引文件(这是所有java jar和类连接在一起的文件),它得到一个异常。
解决方案是遍历您正在导入到项目中的所有jar文件,并删除重复的jar文件。在这种情况下,imarketbillingservice已经被引用了不止一次。