【问题标题】:Gradle can't compile with libsGradle 无法使用库编译
【发布时间】:2015-03-22 18:16:52
【问题描述】:

我的项目无法使用这些库编译:

我的毕业代码:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com...."
        minSdkVersion 9
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

错误:

**错误:任务 ':app:preDexDebug' 执行失败。

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' 完成非零退出值 1**

【问题讨论】:

  • 我建议您发布整个 Gradle 控制台输出,因为那里可能有更多信息可供我们使用。您还可以考虑为其中许多依赖项切换到存储库工件,而不是使用裸 JAR。

标签: java android gradle


【解决方案1】:

Android SDK Build Tools 21.1 及更高版本中可用的 Android Gradle 插件支持 multidex,因此您必须将 multiDexEnabled true 添加到您的 gradle 文件中,如下所示:

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.0"

defaultConfig {
    ...
    minSdkVersion 14
    targetSdkVersion 21
    ...

    // Enabling multidex support.
    multiDexEnabled true
}
...
}

..

【讨论】:

    【解决方案2】:

    您的图书馆似乎有问题。尝试更新它并使用

    compile 'com.android.support:appcompat-v7:22.0.0'
    

    【讨论】:

    • 它不起作用。如果我从 /libs 中删除库,一切都会好起来的。
    • 这些库与 appcompat-v7 无关,因为它存在于 sdk support forder 中
    【解决方案3】:

    当我们的 app/libs 文件夹中存在尚未包含在 gradle 构建中的库文件时,似乎会出现来自 Android Studio 的此错误。 user1468102 的回答对我有用。我已经清空了我的 libs 文件夹,一切顺利

    请这个link 以及将库添加到项目和使用gradle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      相关资源
      最近更新 更多