从 3.2.something 更新到 AS 3.3.1 后,我遇到了一个奇怪的错误:R 文件仅为未实现任何其他模块的模块生成。 我仍然可以通过 cmd+B 编译项目或去声明,但是像 R.layout.activity_main
这样的每个资源文件都高亮显示“ Unresolved 引用”消息,直到我从模块 build.gradle
中删除每个模块实现并重新同步项目。
据我所知,该问题与 android gradle 3.3.0 或 kotlin 1.3 无关,因为我的旧项目也受到影响。
我已经尝试过的:
- 清理/重建项目
- 使缓存无效
- 重新同步 Gradle
- 切换到 Android Gradle 3.2.1
- 删除
.idea
目录
这是我的 project , module build.gradle example和 used libraries .
例如,如果我在 mainscreen/build.gradle.kts
中注释 implementation(project(":presentation"))
行,错误就会消失。显然,这不是解决方案。
UPD:已解决
解决方案:您必须在每个 AndroidManifest.xml
文件中指定不同的包名称,即 com.mycompany.example.launcher
用于启动器模块,com. mycompany.example.presentation
用于演示模块等等。
最佳答案
[解决方案 1] 您可以从系统中删除旧版本的 gradle 并开始安装其新版本。
[解决方案2] 或者删除 Android Studio 并重新安装
关于Android Studio 只为多模块项目中没有模块依赖的模块生成 R 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54582570/