Android Studio 0.4.2工作正常,今天我打开它,几乎所有东西都是红色的,自动完成已经停止工作。我看了一下导入,AS似乎告诉我它找不到android.support。V4(为我提供了删除未使用的导入的选项)。(android.support。V7似乎没问题)。

我尝试过的事情:

重建项目 清理项目 同步Gradle文件 关闭项目,关闭AS,重新启动/重新开放 文件>无效缓存/重启 检查Lint,没有发现任何明显的东西 在SDK管理器中仔细检查所有支持库是否是最新的 检查我的构建。Gradle,虽然没有变化,它和往常一样,它一直工作的方式。

下面是相关信息:

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

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.android.support:gridlayout-v7:19.0.0'
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
    compile project(':libraries:facebook')
    compile files('libs/core.jar')
}

当我点击“与Gradle同步”并打开“项目设置”时,我得到一个红色错误,告诉我我有重复的库引用,并删除未使用的。

我的项目编译和运行良好,但我真的需要自动完成工作!!有人有什么建议吗?


当前回答

我尝试清理项目,然后使缓存无效,这两种方法都不起作用。对我有用的是注释掉构建中的所有依赖项。Gradle (app),然后同步,然后再次取消依赖项的注释,然后再次同步。鲍勃是你的叔叔。

其他回答

在我的多模块项目中,问题在于“com.android”的版本。支持:appcompat-v7”在模块A是“22.0.0”,但在B -“22.2.0”。 解决方案:确保 1. 模块之间的公共库版本相同。 2. 每个模块编译时都没有任何错误(尝试从CLI构建每个模块)。

我通过删除设置来解决这个问题。Gradle来自我的模块子项目。这是一个有自己设置的Java Gradle项目。Gradle文件,它搞砸了。

感谢这个家伙:https://stackoverflow.com/a/33978721/425238

当我重建aar文件并用新文件替换项目中的旧文件时,我也遇到了类似的问题。我试过了这里所有的解决方案,但没有一个能解决我的问题。我后来意识到minifyEnabled在库项目中被设置为true,这有效地删除了大量在库项目中没有使用的死代码。

我的解决方案是在库项目中设置minifyEnabled为false,组装aar,将其复制到我的项目中,使缓存无效并同步grade项目,一切都工作正常。

另一种方法是下载JDK 1.7,从错误提示的Android Studio中修改路径,选择JDK 1.7文件夹中包含的Home文件夹

Be aware that the name of files and specially folders can result in this error. For instance, if you have a folder "Helpers" and the package for files in this folder is "com.whatever.helpers" it won't result in any compilation error but will cause the Android studio fail to load the symbols in that folder. One typical reason for that is when you name a folder with first capital letter, commit it on Git and later change the folder name to all lower case. The Git system won't recognize the change resulting in a discrepancy between the local and remote repositories that only the new repository clones will be affect by.