Android Studio 中名为 'case' 的包文件夹导致刀柄错误

Package folder named 'case' in Android Studio causes hilt error

我在 Android Studio 中发现了一个非常奇怪的行为。当我尝试创建包时 case 然后 Android Studio 将文件夹标记为文件夹而不是包:

这不仅仅是一个 UI 问题。当我在案例文件夹中放置一个 class 并且我想使用依赖注入将这个 class 的一个实例注入到视图模型中时,刀柄编译器找不到 class 并且导致错误:

@HiltViewModel annotated class should contain exactly one @Inject annotated constructor.

并且刀柄生成的 java 文件缺少构造函数案例文件夹中的 class。

但是,我可以在应用程序中正常使用 class 而无需依赖项注入,因此 kotlin 通常似乎没问题。

我会把它归咎于刀柄错误,但由于 Android Studio 以不同方式识别文件夹,我有点好奇是否有人知道原因。

您不能使用 Java 关键字。 case 是关键字。

更多密钥您可以查看:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html