【问题标题】:Android gradle build script returns error 137 in preDexDebugAndroid gradle 构建脚本在 preDexDebug 中返回错误 137
【发布时间】:2014-05-15 23:53:00
【问题描述】:

我正在尝试使用 gradlew 在我们的 Debian 构建服务器上构建一个 Android 项目。

每次我运行它时,preDexDebug 步骤的构建都会失败,出现错误 137 和以下错误。我尝试了堆栈跟踪,但这并没有给我更多信息,除了它是一个未处理的异常。在控制台中,我可以看到 preDexDebug 构建步骤在 39% 时失败。

:Carpool:preDexDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':Carpool:preDexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
        /opt/android-sdk-linux/build-tools/19.0.3/dx --dex --output /var/lib/jenkins/jobs/Project/workspace/com.app.space/Carpool/build/pre-dexed/debug/classes-c1baba1a2bb3528538a151852945d1f7047c7393.jar /var/lib/jenkins/jobs/Project/workspace/com.app.space/Carpool/build/exploded-aar/com.google.android.gms/play-services/4.0.30/classes.jar
  Error Code:
        137

构建脚本:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.1.0'
    compile 'com.android.support:gridlayout-v7:19.1.0'
    compile 'com.android.support:appcompat-v7:19.1.0'
    compile 'com.google.android.gms:play-services:4.0.30'
}

关于此问题的原因、解决方法或我可以做的其他检查有什么想法吗?

【问题讨论】:

    标签: android jenkins gradle


    【解决方案1】:

    问题是由于构建服务器上的内存问题造成的。切换到具有更多内存的构建服务器已解决此问题。

    【讨论】:

    • 你有多少内存?我在 Ubuntu 上使用 512Mb 内存的 play-services jar 也有同样的问题。
    • 我有 512Mb,然后切换到 1024MB(仍然有问题。现在我有 4GB 内存,它工作正常。
    • 我不得不承认,即使是 4GB,由于交换文件不够大,我也遇到了一些问题,但更改这些文件再次解决了问题。
    • 对,我的服务器上有监控构建过程,并且真的在 preDex 目标上,Swap 已满。
    【解决方案2】:

    是的,我遇到了这个问题。我发现问题是 dx.bat 由于配置内存错误而无法运行。将“set defaultXmx=-Xmx1024m”更改为“set defaultXmx=-Xmx512m”并再次运行。我找到了参考链接:https://code.google.com/p/vs-android/issues/detail?id=15。希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      • 2018-07-24
      • 1970-01-01
      相关资源
      最近更新 更多