1. project with path ':changeimg' could not be found in project ':app'.
许多时候,特别新导入android studio一个新项目时,往往会提示一些编译错误,其中一种就是提示:
project with path ':changeimg' could not be found in project ':app'. 打开项目结构发现整个项目的类名全部爆红:类似这样:
这个时候,不要按提示去查看提示的是否在项目中能找到,应该找到项目的settings.gradle文件,
查看include中是否包含报错的那个“changeimg”,如果没有,则按标准加上,再次编译,如果发现其他问题,再按问题解决。
PS:
在IDEA中 这个小红标的意思是 Java class located out of the source root. Refer to the section Configuring Content Roots for details. 、
就是本地文件资源导入到android studio失败 或者导入的不全 导致Android studio编译这个module失败 所以Java文件才没变成class 只需要重新导入这个module就好了。
2. Error: Finish can only be called once”
如果项目编译时遇到 Error: Finish can only be called once”
可以做一下操作:
1、退出studio
2、进入缓存路径,找到 C:\Users\Administrator\.gradle
3、删除 caches 文件夹 或者 删除 。gradle 文件夹
4、重启动 studio 重新构建;
另外,还有可能是所有的导包全部红色警报,但是可以编译甚至运行,但是就是导包失效,对,就是这么奇葩。
遇到这种问题,可以尝试以下的解决方法:
1. 尝试常用的方法:重新编译,可以是clearBuild、reBuild。
2. 清除 androidstudio缓存并重启。
3. 可能是sdk配置上出现了问题,可以检查一下。
4. 另外,还有可能是资源文件上有问题,像“.9”文件文职错误,还有什么像资源文件string里面有错误等等
5. 自己尝试其他的解决方法。
3. Could not determine java version from 'JavaVersion.VERSION_1_8'.
写法原为:
compileOptions {
sourceCompatibility 'JavaVersion.VERSION_1_8'
targetCompatibility 'JavaVersion.VERSION_1_8'
}
修改为:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
chantGpt给出的解释是:
在Gradle构建脚本中,
compileOptions
块是用于配置编译选项的。sourceCompatibility
和targetCompatibility
选项用于指定源代码和目标字节码的兼容性版本。在Gradle中,可以使用JavaVersion类来指定Java版本,其中JavaVersion.VERSION_1_8表示Java 8。在您提供的示例中,第一个示例使用了
JavaVersion.VERSION_1_8
,而第二个示例使用了字符串'JavaVersion.VERSION_1_8'
。这会导致第二个示例中的字符串被解释为文本,而不是JavaVersion常量。因此,第二个示例中的字符串不会被正确解析为Java版本,而会导致编译错误。因此,正确的写法应该是第一个示例中的方式,使用JavaVersion常量来设置源代码和目标字节码的兼容性版本。