将.java文件作为java源文件包含在Android Studio中,以删除带有“的红色圆圈”;J";在他们身上

将.java文件作为java源文件包含在Android Studio中,以删除带有“的红色圆圈”;J";在他们身上,android,gradle,android-studio,Android,Gradle,Android Studio,今天更新android studio后,项目中的我的源文件夹标记如下(“J”内有一个红色圆圈标记)。我怎样才能修好它?我尝试了清除缓存、重新导入项目、使用gradlew clean build,但都没有用。 格雷德尔先生 apply plugin: 'android' apply plugin: 'android-apt' android { compileSdkVersion 19 buildToolsVersion "19.0.3" sourceSets {

今天更新android studio后,项目中的我的源文件夹标记如下(“J”内有一个红色圆圈标记)。我怎样才能修好它?我尝试了清除缓存、重新导入项目、使用
gradlew clean build
,但都没有用。

格雷德尔先生

apply plugin: 'android'
apply plugin: 'android-apt'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"


    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    lintOptions {
        abortOnError false
    }
}

def AAVersion = '3.0.1'
dependencies {
   ......
}

apt {
    arguments {
     ....
    }
}

我在玩这个的时候找到了一些神奇的解决办法

有两种可能的解决方案,您可以尝试使其正确(棘手的一个)

1.将其替换到build.gradle文件中

java.srcDirs = ['src']   to   java.srcDirs = ['src/com']
2.在
src
中创建一个子目录,您可以随意命名,我更喜欢将其命名为
java
like

src > java
将所有java包移入其中并更改

java.srcDirs = ['src']   to   java.srcDirs = ['src/java']
这些都是棘手的解决方案。如果java源代码集是
src
目录的根目录,但编译得很好,那么它不考虑java源代码集,这可以被认为是Android Studio中的一个bug

完成所有必要的更改后,将项目与gradle同步,黄色目录将神奇地变成蓝色

注意:根据我的经验,即使在根目录中也不会对编译产生影响。只有Studio不会在IDE中将它们标记为java源集。

这是一个bug,应该在Android Studio 0.5.1中修复,该版本现已推出

  • 打开build.gradle文件(一个在模块中,而不是在项目中)
  • 打开它时,您将看到“此文件夹不属于Gradle项目。请确保它已在settings.Gradle中注册。”消息和右上角的“立即添加…”链接
  • 单击“立即添加”,Gradle将完成其工作
  • 在Android Studio中打开项目结构(
    Cmd+;
  • 在窗口左侧的模块标题下,查看其右侧,您将看到三个选项卡,其中一个是源,选择它
  • 在那里,您将找到您已导入或可能已自行创建的项目结构
  • 转到它的src文件夹,等待对话框上方的sources链接与其他许多链接一起应用到它,抓住它
  • 申请并确认
  • 问题解决了

  • 我刚刚从android studio关闭了这个项目,并从最近的项目中删除了这个项目,就解决了这个问题。重新导入这个项目,它成功了。如果任何一个人面对android项目,他/她可以试试这个。如果您在切换分支或使用pull后遇到此问题,请向

    表示感谢。然后你可以通过进入文件>使缓存失效/重新启动来修复它。

    你升级了你的Gradle版本和你的Android Gradle插件了吗?当您在更新后打开项目并提供修复程序时,它应该警告您。是的,我这样做了。项目构建得很好,我发现您的项目没有典型的Gradle目录结构。你能将你模块的build.gradle文件添加到你的问题中吗?看起来他们在AS的最新版本中对其进行了更改,因为我找不到它(但我也在使用Mac-这可能会有所改变)关闭Android Studio并从project structure中删除.idea和.gradle文件夹,然后再次启动Studio。