Codenameone:Android构建失败,出现奇怪的异常

问题描述 投票:2回答:1

[从今天(28.03。)开始,我的应用程序(CN1构建服务器)的生成引发了一个我不理解的生成异常。昨天的版本工作正常。错误日志中的错误:

Dex: The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
    at com.android.dx.merge.DexMerger$8.updateIndex(DexMerger.java:565)
    at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:276)
    at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:574)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:166)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
    at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
    at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)
    at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1689)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
:transformDexArchiveWithDexMergerForDebug FAILED
:transformDexArchiveWithDexMergerForDebug (Thread[Daemon worker,5,main]) completed. Took 0.334 secs.

FAILURE: Build failed with an exception.

有人可以帮助我了解问题出在哪里吗?

codenameone
1个回答
1
投票

错误是:

Dex: The number of method references in a .dex file cannot exceed 64K.

在这种情况下,添加构建提示:android.multidex=true

如开发人员指南(link)所述:

android.multidex->​​布尔值true / false默认为false。多重指数允许Android二进制文件引用超过65536个方法。这个会使构建速度变慢,因此默认情况下我们将其关闭,但是如果您获得构建提及此限制时出错,应将其打开。

© www.soinside.com 2019 - 2024. All rights reserved.