任务执行失败:app:compileDebugJavaWithJavac

12

我拿到了别人的项目,当我让AS在我的AVD上运行该项目时,它弹出一个错误:

错误:执行任务“:app:compileDebugJavaWithJavac”失败。

编译失败,请查看编译器错误输出以获取详细信息。

这是我的build.gradle文件。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    defaultConfig {
        applicationId 'ca.gggolf.aminutegolf'
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

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

我不知道该怎么办...其它一切正常,这个应用程序几年前第一次制作时是可以使用的。


这个项目最初是为Eclipse编写的吗?你说它已经几年了,这就是我问的原因。 - emerssso
完成了!那么你有什么想法吗? - dequec64
你使用的Java版本是什么? - piotrek1543
1.8 但是旧版本可能是 1.7 或者甚至是 1.6。 - dequec64
我按照你说的做了,但仍然有错误。它来自:app:transformClassesWithDexForDebug。这两个错误似乎都来自这一个。 - dequec64
显示剩余4条评论
6个回答

2

为您的项目启用multidex。将以下行添加到gradle defaultConfig:

multiDexEnabled true

同时,还需在gradle的依赖中添加multidex依赖:
compile 'com.android.support:multidex:1.0.1'

这很有帮助。非常感谢! - Karan Thakkar
1
如果错误与dex有关,它会告诉你。作者没有提到它。所以你的回答没有任何意义。 - user25

1

检查您现有项目的位置地址。如果使用特殊字符如:

( / | \ + = * ... )

在文件夹及其子文件夹名称中,您应该进行更改并检查。

我将我的文件夹名称从"UI/UX"更改为"UiUx",并且已完成:)


0

我回到这个问题,只是因为它得到了很多的浏览量。

首先,感谢所有人的帮助。我成功地通过在Android Studio上创建一个新项目,并逐个导入类,同时确保代码仍然正常运行来运行应用程序。也许创建一个新项目添加了一些在旧版本项目中不存在的参数。

如果有人有更好的解释,请随意回答!


对于一些包含大量文件的项目来说,逐个创建新项目并复制类是不可行的。 - Amit Upadhyay
我知道,我并不是说这是最好的解决方案,我只是说它对我起作用了。 - dequec64

0

检查你的库版本。在我的情况下,是旧的 Realm 插件引起了问题。


0
使用以下命令构建,该命令将指向源代码中生成编译错误的确切位置。
gradlew assembleDebug --stacktrace

0
有时候我会遇到这个错误。我的Java编译器没有任何错误。
而这个问题似乎与项目的构建缓存有关。
可以像这样解决:
  1. 建立/清理项目
  2. 建立/生成项目或者建立APK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接