我有三个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的位置,如图所示:
在Android Studio的“ Android”视图中,我看到有两个build.gradle显示为属于“模块”应用程序,如图所示:
查看文件时,一个确实是来自App_A的文件,而另一个是来自App_B的正确文件。我找不到任何从项目中删除此文件的方法。在新目录中创建项目的新副本会导致相同的问题重复发生。我如何摆脱不正确的build.grade,并允许自己继续使用App_B?
最佳答案
好的,我已经找到了解决方案,但是我暂时搁置了这个问题,以防万一有人可以启发我有关这可能是怎么发生的,所以我可以防止它再次发生。
在文件(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无关。