Android 尝试使用Jacoco获取测试覆盖率时发生OutOfMemoryError

Android 尝试使用Jacoco获取测试覆盖率时发生OutOfMemoryError,android,gradle,code-coverage,android-gradle-plugin,jacoco,Android,Gradle,Code Coverage,Android Gradle Plugin,Jacoco,我有一个android项目,大约有6万行代码,我们使用gradle构建应用程序,并使用robolectric运行单元测试。我们最近应用了jacoco插件来获取单元测试的覆盖率数据,但是,在大约140个测试之后,其余的测试开始失败,出现OutOfMemoryError异常 我尝试使用gradle.properties来更改JVM的堆大小,但似乎没有帮助 任何帮助都将不胜感激。非常感谢 您是否尝试了以下操作: 在用户的~/.bash_配置文件中设置以下内容 导出渐变选项=“-XX:MaxPermSi

我有一个android项目,大约有6万行代码,我们使用gradle构建应用程序,并使用robolectric运行单元测试。我们最近应用了jacoco插件来获取单元测试的覆盖率数据,但是,在大约140个测试之后,其余的测试开始失败,出现OutOfMemoryError异常

我尝试使用gradle.properties来更改JVM的堆大小,但似乎没有帮助


任何帮助都将不胜感激。非常感谢

您是否尝试了以下操作:

  • 在用户的~/.bash_配置文件中设置以下内容

    导出渐变选项=“-XX:MaxPermSize=512m”

  • 在GRADLE_HOME/bin/GRADLE可执行文件(shell脚本)中,将以下行更改为:

    DEFAULT_JVM_OPTS="$JAVA_OPTS $GRADLE_OPTS"
    
    以上假设,您也在设置一些JAVA xxx mem变量

  • 包括平行叉等

      test {
     maxParallelForks = 5
     forkEvery = 50
     ignoreFailures = true
    
     // Send HTML reports and xml results files to a custom user defined folder instead of default    
     testReportDir = file("$buildDir/reports/tests/UnitTests")
     testResultsDir = file("$buildDir/test-results/UnitTests")
    
     testLogging.showStandardStreams = true
    
     onOutput { descriptor, event ->
         logger.lifecycle("Test: " + descriptor + " produced standard out/err: " + event.message )
     }
    
    }


  • 看,如果这有帮助的话?

    你找到解决办法了吗?