Android Studio从错误的项目引用了build.gradle

时间:2018-06-28 09:09:50

标签: android build.gradle

我有三个android studio项目:

  • (路径)\ LibAddressLookup
  • (路径)\ App_A
  • (路径)\ App_B

App_A和App_B都依赖LibAddressLookup并在其设置/等级中具有对它的引用:

include ':app'
include ':LibAddressLookup'
project(':LibAddressLookup').projectDir = new File(settingsDir, '../LibAddressLookup/app')

App_A具有大约14种不同的构建风格,App_B仅具有一种。

尝试将App_B加载到Android Studio中时,gradle构建失败。在我的“ Build Variants”窗​​口中,我看到模块“ app”具有App_A的风味/构建配置组合。当我去编辑口味时,我会列出App_A中的所有口味。如果我尝试编辑(删除)这些样式,则会收到一条错误消息,提示build.grade不属于该项目,然后列出App_A的build.grade的位置,如图所示:

build.gradle does not belong to project

在Android Studio的“ Android”视图中,我看到有两个build.gradle显示为属于“模块”应用程序,如图所示:

unwanted build.gradle

查看文件时,一个确实是App_A中的一个,而另一个则是App_B中的正确的一个。我找不到任何从项目中删除此文件的方法。在新目录中创建项目的新副本会导致相同的问题重复发生。我如何摆脱不正确的build.grade,并允许自己继续使用App_B?

1 个答案:

答案 0 :(得分:1)

好的,我已经找到了解决方案,但是我暂时搁置一个问题,以防任何人能启发我这是怎么发生的,所以我可以防止它再次发生。

在文件(path)\ App_B.idea \ workspace.xml中是以下条目:

<component name="ExternalProjectsData">
    <projectState path="$PROJECT_DIR$/../App_A">
      <ProjectState />
    </projectState>
    <projectState path="$PROJECT_DIR$">
      <ProjectState />
    </projectState>
</component>

在删除第一个projectState子条目(引用App_A),重新打开Android Studio,清理项目,再次退出,重新启动并再次清理之后,Android Studio终于准备接受App_A确实与之无关App_B。