错误:任务执行失败org.gradle.process.internal.ExecException:'以非零退出值2结束

时间:2015-12-23 07:31:20

标签: android compiler-errors static-libraries build.gradle google-api-client

我正在添加该库但无法运行我的代码

dependencies {
compile 'com.google.http-client:google-http-client-gson:1.20.0'
compile 'com.google.code.gson:gson:2.3'
compile files('libs/google-api-client-1.14.1-beta.jar')
compile files('libs/google-api-client-android-1.14.1-beta.jar')
compile files('libs/google-api-services-drive-v2-rev70-1.14.1-beta.jar')
compile files('libs/google-http-client-1.14.1-beta.jar')
compile files('libs/google-http-client-android-1.14.1-beta.jar')
compile files('libs/google-oauth-client-1.14.1-beta.jar')
compile files('libs/google-play-services.jar')
compile files('libs/jsr305-1.3.9.jar')
}

2 个答案:

答案 0 :(得分:2)

相同类型(旧版本) compile库会导致此问题。

Android SDK Build Tools 21.1及更高版本中提供的Gradle Android插件支持multidex作为构建配置的一部分。在尝试为多索引配置应用程序之前,请确保使用SDK Manager将Android SDK构建工具工具和Android支持存储库更新到最新版本。

设置应用开发项目以使用multidex配置需要您对应用开发项目进行一些修改。特别是您需要执行以下步骤:

  1. 更改Gradle版本配置以启用multidex
  2. 修改您的清单以引用MultiDexApplication类
  3. 修改您的应用Gradle构建文件配置以包含支持库并启用multidex输出。

        android {
        compileSdkVersion 21
        buildToolsVersion "21.1.0"
    
        defaultConfig {
            ...
            minSdkVersion 14
            targetSdkVersion 21
            ...
    
            // Enabling multidex support.
            multiDexEnabled true
        }
        ...
    }
    
    dependencies {
      compile 'com.android.support:multidex:1.0.0'
    }
    

    我的建议

    使用

     compile 'com.google.android.gms:play-services:8.3.0'
    

    避免

    compile files('libs/google-play-services.jar')
    

    我猜问题就在这里

        compile files('libs/google-api-client-1.14.1-beta.jar')
        compile files('libs/google-api-client-android-1.14.1-beta.jar')
    

    编辑后

      apply plugin: 'android'
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.1"
    
        defaultConfig {
            applicationId "com.example.android.notepad"
            minSdkVersion 16
            targetSdkVersion 19
            // Enabling multidex support.
            multiDexEnabled true
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }
    }
    
    dependencies {
        compile 'com.google.http-client:google-http-client-gson:1.20.0'
       /* compile 'com.google.code.gson:gson:2.3'*/
        compile files('libs/google-api-client-1.14.1-beta.jar')
        compile files('libs/google-api-client-android-1.14.1-beta.jar')
        compile files('libs/google-api-services-drive-v2-rev70-1.14.1-beta.jar')
        /*compile files('libs/google-http-client-1.14.1-beta.jar')*/
        compile files('libs/google-http-client-android-1.14.1-beta.jar')
        compile files('libs/google-oauth-client-1.14.1-beta.jar')
      /*  compile files('libs/google-play-services.jar')*/
        compile 'com.google.android.gms:play-services:5.0.89'
        compile files('libs/jsr305-1.3.9.jar')
        compile 'com.android.support:multidex:1.0.0'
    }
    

答案 1 :(得分:0)

这个错误在旧版本中很常见...... 使用此代码gradle

defaultConfig {
        applicationId "your package name"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        //Enabling mutidex
        multiDexEnabled true
    }

启用multidex后依赖使用此库

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile 'com.android.support:support-v4:23.0.1'
    compile 'com.android.support:multidex:1.0.1'
}

我觉得它很完美..