【问题标题】:Increase memory limits for cordova build at visual studio增加 Visual Studio 中 Cordova 构建的内存限制
【发布时间】:2023-04-04 16:00:01
【问题描述】:

我有一个 cordova 项目,我启用了 multidex,因为我们达到了限制。 在此之后我开始收到以下错误:

java.lang.OutOfMemoryError: Java 堆空间

  1. 如果我使用 Visual Studio 构建 Cordova 应用程序,您能告诉我如何增加 Java 堆大小吗?
  2. 你能告诉我如何增加 Gradle 的最大堆大小吗?我想提高构建速度。

【问题讨论】:

    标签: visual-studio cordova gradle out-of-memory visual-studio-cordova


    【解决方案1】:
    1. 如果我使用 Visual Studio 构建 cordova 应用程序,您能告诉我如何增加 Java 堆大小吗?

    您可以按照TACO Official DocumentCould not create Java Virtual Machine error部分的步骤来增加jvm堆大小。

    1. 你能告诉我如何增加 Gradle 的最大堆大小吗?我想提高构建速度。

    为了加快构建操作,您可以在Gradle.properties 文件中的project folder\platform\android\ 下添加以下属性:

    org.gradle.parallel=true
    org.gradle.daemon=true
    org.gradle.jvmargs=-Xms256m -Xmx1024m
    

    在 Corodva 项目中,平台文件夹下的更改将被每个构建覆盖。所以最好写一个before_build钩子把文件拷贝到android平台:

    var fs = require('fs');
    var Q;
    module.exports = function (context) {
        Q = context.requireCordovaModule('q');
        var defered = Q.defer();
        var path = context.opts.projectRoot;
        try {
        fs.createReadStream(path + '\\myconfigs\\gradle.properties').pipe(fs.createWriteStream(path + '\\platforms\\gradle.properties'));
        } catch (e) {
            console.log(e);
        }
        console.log("afterBuild==>End");
        defered.resolve();
    }
    

    我在Project Folder\myconfigs 文件夹下创建了Gradle.properties

    【讨论】:

    • 感谢您的详细解答。我尝试将 _JAVA_OPTIONS 变量设置为 -Xmx2048M。在此之后,我收到以下错误:“无法运行“javac -version”,请确保您已安装 JDK”。
    • 您能否尝试将 jdk 环境路径覆盖到您的 jdk 文件夹。您可以在Tools->Options->Tools for Apache Cordova->Environment Variable Overrides下找到设置,
    • 是的。它被覆盖。我正在使用以下路径:C:\Program Files (x86)\Java\jdk1.8.0_101
    • 您能否尝试使用 x64 jdk 并为 JAVA_HOME 设置系统环境变量并将其添加到路径中。
    • 同样的问题。设置 _JAVA_OPTIONS 后,我开始收到未安装 JDK 的错误。如果我将其删除,则不会出现此类错误。
    猜你喜欢
    • 1970-01-01
    • 2011-02-22
    • 2015-05-15
    • 1970-01-01
    • 2022-01-25
    • 2021-03-01
    • 2022-01-03
    • 2023-03-22
    相关资源
    最近更新 更多