【问题标题】:Extending a class in a different module, builds in Android Studio but cannot resolve symbols在不同的模块中扩展一个类,在 Android Studio 中构建但无法解析符号
【发布时间】:2014-08-08 06:49:56
【问题描述】:

在我的项目中,我有一个带有 com.example.foo 的模块 A,我想在模块 B 中扩展该模块中的一个类,即 com.example.foo.bar。我在模块 B 中添加了模块 A 作为依赖项,它构建得很好。

当我尝试这样扩展类时,我的问题就开始了:

package com.example.foo.bar;

public class Subject extends com.example.foo.SomeClass {
    ...
}

在 Android Studio 中,对模块 A 的所有引用都显示为红色(因为它无法解析这些符号),但无论如何我仍然可以成功构建我的项目

如何配置 AS 以正确识别依赖关系?

【问题讨论】:

    标签: android intellij-idea gradle android-studio


    【解决方案1】:

    想出了解决我问题的方法。这主要是 Android Studio 中的一个错误,在此处跟踪:https://code.google.com/p/android/issues/detail?id=65915

    解决方法很简单,我的项目模块中都有自己的settings.gradle,因为它们都来自自己的 git 子模块项目,而 AS 忽略它们时会出现问题。

    “修复”是从除根项目目录之外的所有模块中删除 settings.gradle。

    例如,在我的情况下,我的项目结构如下所示:

    build.gradle
    settings.gradle
    library_module:
       build.gradle
       settings.gradle
          library:
             build.gradle
             settings.gradle
    android_app:
       settings.gradle
       build.gradle
    

    删除后结构如下:

    build.gradle
    settings.gradle
    library_module:
       build.gradle
          library:
             build.gradle
    android_app:
       build.gradle
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-18
      • 2014-02-05
      • 2015-05-14
      • 2019-02-07
      • 2023-03-27
      • 2015-07-28
      相关资源
      最近更新 更多