2016-06-22 85 views
0

我有一个当前不是IntelliJ IDEA项目的Maven项目。我通过File - > Open Project导入它,然后选择根目录pom.xml。IntelliJ IDEA中的Multidex与Maven

似乎一切都好导入,所有模块都在那里,Android模块配置正确。

然后,我为要执行的Android模块添加了运行配置。

建设当我得到以下错误:

Error:Android Dex: [at.demoproject] Unable to execute DX 
Error:Android Dex: [at.demoproject] com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 
Error:Android Dex: [at.demoproject] at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:484) 
Error:Android Dex: [at.demoproject] at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:261) 
Error:Android Dex: [at.demoproject] at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:473) 
Error:Android Dex: [at.demoproject] at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:161) 
Error:Android Dex: [at.demoproject] at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) 
Error:Android Dex: [at.demoproject] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504) 
Error:Android Dex: [at.demoproject] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) 
Error:Android Dex: [at.demoproject] at com.android.dx.command.dexer.Main.run(Main.java:277) 
Error:Android Dex: [at.demoproject] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
Error:Android Dex: [at.demoproject] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
Error:Android Dex: [at.demoproject] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
Error:Android Dex: [at.demoproject] at java.lang.reflect.Method.invoke(Method.java:606) 
Error:Android Dex: [at.demoproject] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:188) 
Error:Android Dex: [at.demoproject] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:336) 

但multidex已经建立,并与Android的Maven的插件工作的罚款。 (当直接在Maven的命令行中构建时)我怀疑IntelliJ没有使用android-maven-plugin,但是如何告诉它使用multidex呢?另外,将项目转换为Gradle目前不是选项。

回答

0

好吧,我想出了自己。

不用让IntelliJ构建它,你可以使用Maven。只需打开“运行/调试”配置并在“启动之前”列表中删除“Make”。然后添加“运行Maven目标”并输入要运行的目标,在我的“干净安装”中。