【问题标题】:Any android Studio version > 3.2.1 show red resource but still compile任何 android Studio 版本 > 3.2.1 显示红色资源但仍可编译
【发布时间】:2019-12-28 14:54:15
【问题描述】:

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

使用: 安卓工作室 3.2.1 Gradle 插件版本 3.2.1 Gradle 版本 4.6.1

但无法使其适用于: 安卓工作室 3.5 Gradle 插件版本 3.5 Gradle 版本 5.4.1

我看过这个话题:Android Studio inline compiler showing red errors, but compilation with gradle works fine

  • 我已尝试清理/构建 + 使缓存无效并重新启动。

  • 我尝试过:

rm -rf .idea/caches/
rm -rf .idea/libraries/
rm -rf .gradle/
  • 我还通过分析项目和修复所有 XML 错误来检查所有 XML 错误
  • AndroidManifest.xml 中的包名正确

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

这是我得到的截图:

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

【问题讨论】:

  • 不是解决方案,但我在 Macbook 上打开多个 AndroidStudio 实例时发生了这种情况。关闭另一个实例修复了它。奇怪。

标签: android android-studio gradle android-gradle-plugin gradle-plugin


【解决方案1】:

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

解决方案: 我的问题是我有 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 library是否是问题所在:

        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 不允许具有相同包名的多个模块。 所以,现在,我所有的模块都有特定的包名。

【讨论】:

    猜你喜欢
    • 2014-02-01
    • 2019-06-27
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多