Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
忽略Android构建Dex巨型模式_Android_Intellij Idea_Dex - Fatal编程技术网

忽略Android构建Dex巨型模式

忽略Android构建Dex巨型模式,android,intellij-idea,dex,Android,Intellij Idea,Dex,当我试图用Intellij IDEA编译一个android项目时,我得到了 Unable to execute DX com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:484) at com.android.dx.merge.DexMerger$IdMerger.m

当我试图用Intellij IDEA编译一个android项目时,我得到了

Unable to execute DX
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:484)
at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:261)
at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:473)
我已经找到了这些解决方案

A) 加

build.gradle中

B) 加

project.properties中
用于非渐变项目

我没有任何build.gradle,所以我尝试了第二种解决方案,用这种方式在
project.properties
的末尾添加行

# Project target.

target=Google Inc.:Google APIs:23
dex.force.jumbo=true
不幸的是,这个解决方案不起作用,并得到相同的错误。 我的类不是太大,希望避免多重索引。。。 令我惊讶的是,这个错误只有在Android支持v4库和Google Play服务更新到最新版本之后才会发生


有什么建议吗?

dex格式不支持超过64k的方法索引

当您的dex文件有许多字符串(>64k),并且需要合并到其他dex文件(库等)中时,Jumbo模式非常有用。它基本上强制字节码始终使用巨型字符串引用,以避免在合并dex文件时出现问题


值得注意的是,jumbo模式与方法索引无关,并且在方法太多时也没有帮助。

dex格式不支持超过64k的方法索引

当您的dex文件有许多字符串(>64k),并且需要合并到其他dex文件(库等)中时,Jumbo模式非常有用。它基本上强制字节码始终使用巨型字符串引用,以避免在合并dex文件时出现问题


值得注意的是,jumbo模式与方法索引无关,在方法太多时也没有帮助。

确定吗?建议采用巨型模式的答案相当新颖。我认为我添加参数的方式就是问题所在看起来它是在2012年添加的:)你确定吗?建议采用巨型模式的答案相当新颖。我认为我添加参数的方式就是问题所在看起来它是在2012年添加的:)请看:@MorrisonChang之前有人问过这个问题,但没有解决我的问题。你只使用你需要的Google Play服务,而不是导入完整的服务集?我不确定我需要Google Play服务的哪些部分,我不知道如何只编译所需的组件而不出错。无论如何,我需要知道如何解决force jumbo modeGradle支持的问题仍然很糟糕,如果有其他方法解决这个问题,我不想浪费时间重新创建我的所有项目。过去几年我一直在使用gradle,每一个新版本都迫使我创建一个新的项目来修复框架检测问题和编译错误。请参阅:@MorrisonChang,之前有人问过这个问题,但并没有解决我的问题。而且你只使用你需要的Google Play服务,而不是导入整套服务?我不确定这其中的哪些部分我需要Google Play服务,但我不知道如何只编译所需的组件而不出错。无论如何,我需要知道如何解决force jumbo modeGradle支持的问题仍然很糟糕,如果有其他方法解决这个问题,我不想浪费时间重新创建我的所有项目。我在过去几年中使用过gradle,每一个新版本都迫使我创建一个新项目来修复框架检测问题和编译错误。
dex.force.jumbo=true
# Project target.

target=Google Inc.:Google APIs:23
dex.force.jumbo=true