自从我将 Android 项目从 Gradle 迁移到 SBT,我就无法有效地使用资源:
- XML 资源中的每个符号(例如
@string/app_name
)都以红色突出显示并显示错误消息(例如Cannot resolve '@string/app_name' symbol
), - 布局编辑器无法工作,因为布局中的所有变量都未解析,所以我无法有效地编辑它们,
此外,IDE 报告缺少 AndroidManifest.xml
,因此我无法从 IDE 中运行应用程序,因为我无法配置任何运行配置。 list 和资源的自动重构,例如更改 Activity 类名称也失败。
但是,所有资源和 list 都在它们的位置上。如图所示,切面也已正确设置:
我已经尝试过但没有奏效的:
- 编辑分面 - 所有分面都已正确设置,
- 使缓存失效并重新启动 IntelliJ,
- 删除
.idea
目录并使用 SBT 插件重新导入项目, - 像在 Gradle 中一样同步项目 - SBT 没有这样的选项,我最好的办法就是刷新构建。
通常我会怀疑构建由于某种原因无法正常工作,但是:
sbt clean app/android:run
从头开始正确构建应用程序并加载到模拟设备中,它按预期工作,- IDE 中的方面已正确设置,所有依赖项均已正确识别,项目已正确设置。
我可以尝试如何诊断/解决问题?
最佳答案
在 IDE 中禁用源代码生成。
来自aar的资源在本地xml资源中没有解析,这是目前IDEA sbt项目导入支持的一个限制
关于android - IntelliJ 无法解析 SBT(多)项目中的资源和 AndroidManifest.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34623626/