所以我按照https://developer.android.com/training/dependency-injection/hilt-android的步骤将Dagger Hilt添加到我的项目中。
编译没有错误,但Android Studio显示@HiltAndroidApp
和@HiltViewModel
的错误,但其中一些如@AndroidEntryPoint
存在
- 我试过
invalidate caches/restart
我已尝试删除 - 我已经尝试打开一个与
Hilt
一起工作的旧项目,现在这个项目也显示了这个错误(也构建没有任何问题) - 我已经尝试使用最新版本的
Hilt
可用,2.39.1
,以及2.38.1
,因为它是在developer.android.com柄文档页面上使用的
.idea
,.gradle
.我没主意了
我在@Inject遇到了同样的问题。我尝试了无效缓存和重新启动和一切,但没有工作。
@Inject的导入路径为javax.inject.Inject
。
当我试图去"注射"将鼠标悬停在"inject"上。从import语句和CTRL +点击它,它带我到一些gradle缓存文件夹,有一个名为"Inject"在里面,所以理想情况下,界面在那里,但android studio没有检测到它。
然后我在gradle缓存中浏览了一些其他文件夹,其中有很长的随机名称和东西,我发现另一个具有相同结构的包(javax.inject),但它是空的。我手动删除了那个空包,问题自动修复了。所以我猜android一直在考虑里面什么都没有的包(我删除了),而不是另一个有缓存注入接口的包。从缓存中删除空包为我修复了它。
我试图重新创建这个问题,以回答它与截图和东西,但我现在无法重新创建它。很抱歉。
对我来说有效的是从build.gradle
文件中删除(注释)Dagger-Hilt的所有依赖项,然后构建项目(得到很多错误),然后取消注释依赖项。同步后,所有Lint错误都消失了。