关于android项目编译不通过,类名爆红的问题

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块是用于配置编译选项的。 sourceCompatibilitytargetCompatibility选项用于指定源代码和目标字节码的兼容性版本。在Gradle中,可以使用JavaVersion类来指定Java版本,其中JavaVersion.VERSION_1_8表示Java 8。

在您提供的示例中,第一个示例使用了JavaVersion.VERSION_1_8,而第二个示例使用了字符串'JavaVersion.VERSION_1_8'。这会导致第二个示例中的字符串被解释为文本,而不是JavaVersion常量。因此,第二个示例中的字符串不会被正确解析为Java版本,而会导致编译错误。

因此,正确的写法应该是第一个示例中的方式,使用JavaVersion常量来设置源代码和目标字节码的兼容性版本。

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值