Android Studio 只为多模块项目中没有模块依赖的模块生成 R 文件

标签 android gradle kotlin android-studio-3.3

从 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 exampleused 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/

相关文章:

java - Android - Java空指针异常

android - 向 ListView 添加动画以展开/折叠内容

jenkins - jenkins如何从jenkins gradle运行指定testng.xml

kotlin - 具有通用输入的高阶函数的重载分辨率歧义

android - 为什么在 Intellij 中使用 Android SDK 时缺少 Android AVD Manager?

java - 如何知道 Retrofit 生成的 Url 是哪个?

gradle - Kotlin 依赖项的行为不像 Kotlin

android - 在Android Studio中成功 "Rebuild Project"后执行Python脚本

spring - kotlin 中的数字不可序列化

android - 如何在android中打印到命令行