从 3.2.something 更新到 AS 3.3.1 后,我遇到了一个奇怪的错误:R 文件仅针对未实现任何其他模块的模块生成。我仍然可以编译项目或通过 cmd+B 进行声明,但每个资源文件R.layout.activity_main
都以“未解析的引用”消息突出显示,直到我从模块中删除每个模块实现build.gradle
并重新同步项目。
据我所知,这个问题与 android gradle 3.3.0 或 kotlin 1.3 无关,因为我的旧项目也受到了影响。
我已经尝试过的:
- 清理/重建项目
- 使缓存无效
- 重新同步 Gradle
- 切换到 Android Gradle 3.2.1
- 删除
.idea
目录
这是我的项目、模块 build.gradle 示例和使用的库。例如,如果我在 中注释implementation(project(":presentation"))
行mainscreen/build.gradle.kts
,错误就会消失。显然,这不是解决方案。
更新:已解决
解决方案:您必须在每个AndroidManifest.xml
文件中指定不同的包名称,例如com.mycompany.example.launcher
启动器模块、com.mycompany.example.presentation
演示模块等。