当我运行我的移动应用程序时,我将 peekaboo 集成到我的 Cordova 应用程序中,它运行良好,每个功能都在工作,但是当我开始在 android studio 中构建源代码时,它会出现以下错误。Error converting bytecode to dex:Cause: com.android.dex.DexException: Multiple dex files define Lokhttp3/internal/ws/WebSocketReader$FrameCallback;Message{kind=ERROR, text=Error converting bytecode to dex:Cause: com.android.dex.DexException: Multiple dex files define Lokhttp3/internal/ws/WebSocketReader$FrameCallback;, sources=[Unknown source file], original message=UNEXPECTED TOP-LEVEL EXCEPTION:com.android.dex.DexException: Multiple dex files define Lokhttp3/internal/ws/WebSocketReader$FrameCallback;at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:660)at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:615)at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:597)at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)at com.android.dx.merge.DexMerger.merge(DexMerger.java:197)at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:503)at com.android.dx.command.dexer.Main.runMonoDex(Main.java:333)at com.android.dx.command.dexer.Main.runDx(Main.java:288)at com.android.dx.command.dexer.Main.main(Main.java:244)at com.android.dx.command.Main.main(Main.java:95), tool name=Optional.of(Dex)}当我集成 peekaboo 时,在我的应用程序完美运行之前,任何人都可以指导我解决实际出错的问题,然后它在 build.and 上给出了这个错误,这是我的项目 build.gradle 文件。
2 回答
![?](http://img1.sycdn.imooc.com/5458463b0001358f02200220-100-100.jpg)
慕森王
TA贡献1777条经验 获得超3个赞
我对您在此处提到的 peekaboo lib 进行了快速研究,但找不到任何公开可用的信息,也许这是您的专有库。
但是,从错误消息来看,这是因为您有多个位置,包括okhttp3库中的类。如果你想使用你的 peekaboo 模块中的那个,那么你可以在你的依赖项闭包中删除这一行。
compile 'com.squareup.okhttp3:okhttp:3.7.0'
或修改如下以排除okhttpfromcom.squarup
compile 'com.squareup.okhttp3:okhttp:3.7.0' {
exclude module: "okhttp"
}
而且,您始终可以使用下面的 gradle 命令来对您的依赖树进行任何处理。
./gradlew -q dependencies
尝试找到您的okhttp模块存在的位置并排除其中之一,以便您可以在进行Dex合并时避免多个 dex 文件定义的错误。
添加回答
举报
0/150
提交
取消