【问题标题】:Multidex in IntelliJ IDEA with Maven带有 Maven 的 IntelliJ IDEA 中的 Multidex
【发布时间】:2016-10-24 04:15:42
【问题描述】:

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

一切似乎都很好地导入了,所有模块都在那里,并且 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-plugin 一起正常工作。 (直接在命令行中使用 Maven 构建时)我怀疑 IntelliJ 没有使用 android-maven-plugin,但是我如何告诉它使用 multidex?此外,将项目转换为 Gradle 目前也不是选项。

【问题讨论】:

    标签: android maven intellij-idea


    【解决方案1】:

    好的,我自己想通了。

    您可以使用 Maven,而不是让 IntelliJ 构建它。只需打开运行/调试配置并在“启动前”列表中删除“制作”。然后添加“Run Maven Goal”并输入要运行的目标,在我的例子中是“clean install”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-22
      • 2021-12-25
      • 1970-01-01
      • 2016-08-04
      • 2012-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多