gpt4 book ai didi

android - 实现MultiDex导致编译了这么久,最后heap space error

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:08:47 27 4
gpt4 key购买 nike

我有一个大的 Android 项目,我遇到了 Unable to execute dex: method ID not in [0, 0xffff]: 65536 错误;我相信你们中的一些人以前肯定经历过这个问题。这是由于应用中引用了太多方法而导致的错误。

我在网上寻找了不同的来源并找到了 this可能是最好的解决方案。

我做了以下事情:

  1. build.gradledefaultConfig block 中添加了 multiDexEnabled = true
  2. 添加了以下依赖:

    dependencies {
    compile 'com.android.support:multidex:1.0.0'
    }
  3. 在我的 App 类中覆盖了以下代码。

    @Override
    protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
    }

现在,错误消失了,但我遇到了新问题。当我运行应用程序时,编译器编译和运行应用程序需要 3 多分钟,最后给我这个错误:

UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: Java heap space

我知道这个错误是由于大量内存使用而发生的,但我不知道如何解决。我正在使用 Android Studio 1.0.2 和 Android API 21。

谢谢!

编辑:

我已经查过了How to fix “OutOfMemoryError: java heap space” while compiling MonoDroid App in MonoDevelop ,但这并没有涵盖问题的原因,而且我没有使用Xamarin Studio。

EDIT2:

确切的症状是这样的:
当我编译代码时,gradle 控制台向我显示了数百条警告,说“忽略匿名内部类的 InnerClasses 属性”(其他一些 stackoverflow 答案表明这不是严重的警告),然后只显示一个闪烁的光标一段时间,大约一分钟后,它给出了错误。

最佳答案

您是否尝试过将堆大小调整添加到您的 build.gradle 文件中?例如,这会将用于 dexing 的最大堆大小设置为 4GB。

android {
...
dexOptions {
javaMaxHeapSize "4g"
}
}

关于android - 实现MultiDex导致编译了这么久,最后heap space error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28031860/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com