首页 > 解决方案 > 任何 android Studio 版本 > 3.2.1 显示红色资源但仍可编译

问题描述

我和我的团队被阻止使用 Android Studio 3.2.1。在此之后的任何 android studio 都显示资源错误。资源仍然可以从编辑器中点击/检查,但显示为红色。片段的预览也是KO。

使用:Android Studio 3.2.1 Gradle 插件版本 3.2.1 Gradle 版本 4.6.1

但不能让它工作:Android Studio 3.5 Gradle plugin version 3.5 Gradle version 5.4.1

我看过这个主题:Android Studio 内联编译器显示红色错误,但使用 gradle 编译工作正常

rm -rf .idea/caches/
rm -rf .idea/libraries/
rm -rf .gradle/

还有什么可以使这个项目出错?

这是我得到的截图: 截屏

我们在上面看到,它是红色的,但仍然可以点击。我的项目也编译了。

标签: androidandroid-studiogradleandroid-gradle-plugingradle-plugin

解决方案


经过长时间的其他搜索,我解决了它。

解决方案: 我的问题是我有 3 个模块,但其中 2 个具有相同的包名。我重命名了一个,它解决了我的问题。

我是如何解决的:

  • 第一步,我检查了java 文件是否是问题所在:

        1) I deleted all my .java files 
    
        2) Deleted all activity in androidmanifest.xml
    
        3) create a new empty activity 
    
  • 第二步,我检查了xml 文件是否是问题所在:

        1) I deleted all content in my res folder, except the layout of my empty activity
    
  • 第三步,我检查了gradle 库是否是问题所在:

        1) I deleted one by one my dependencies in build.gradle
    

我发现在依赖项中注入项目的线路是我的问题的原因:

implementation project(':XXX')

1)当我删除它时,它是固定的。

2)因此,我检查它,发现如果我删除XXX项目的androidmanifest.xml,它就解决了我的问题。

3)调试androidmanifest.xml,发现id是问题所在。

似乎 3.2.1 之后的 androidstudio 不允许具有相同包名的多个模块。所以,现在,我所有的模块都有特定的包名。


推荐阅读