IntelliJ无法解析SBT(多)项目中的资源或AndroidManifest.xml
自从我将Android项目从Gradle迁移到SBT后,我就无法有效地使用资源:IntelliJ无法解析SBT(多)项目中的资源或AndroidManifest.xml,android,intellij-idea,sbt,android-sdk-plugin,Android,Intellij Idea,Sbt,Android Sdk Plugin,自从我将Android项目从Gradle迁移到SBT后,我就无法有效地使用资源: XML资源中的每个符号(例如,@string/app_name)都以红色突出显示,并显示错误消息(例如,无法解析“@string/app_name”符号) 布局编辑器无法工作,因为布局中的所有变量都未解析,因此我无法有效地编辑它们 此外,IDE报告缺少AndroidManifest.xml,因此我无法从IDE中运行应用程序,因为我无法配置任何运行配置。自动重构清单和资源(如活动类名更改)也会失败 但是,所有资源
- XML资源中的每个符号(例如,
)都以红色突出显示,并显示错误消息(例如,@string/app_name
)无法解析“@string/app_name”符号
- 布局编辑器无法工作,因为布局中的所有变量都未解析,因此我无法有效地编辑它们
AndroidManifest.xml
,因此我无法从IDE中运行应用程序,因为我无法配置任何运行配置。自动重构清单和资源(如活动类名更改)也会失败
但是,所有资源和清单都已就位。如图所示,刻面也设置正确:
我已经尝试过但没有成功的方法:
- 编辑面-所有面都已正确设置
- 使缓存无效并重新启动IntelliJ
- 删除
目录并使用SBT插件重新导入项目.idea
- 和Gradle项目一样同步-SBT没有这样的选项,我能做的最好的就是刷新构建
从头开始正确构建应用程序,并加载到模拟设备中,在模拟设备中按预期工作sbt clean app/android:run
- IDE中的方面设置正确,所有依赖项都正确识别,项目设置正确
我可以尝试诊断/解决什么问题?在IDE中禁用源代码生成
来自aar的资源不能在本地xml资源中解析,这是IDEA sbt项目导入支持目前的一个限制不幸的是,它只修复了
生成源
消息。资源中的符号(在同一个项目中)仍然没有解析,并且运行配置无法找到清单:(在禁用源生成和使用重新启动使源无效后生成的屏幕截图)。运行配置不得使用Make
;它必须使用SBT
;是的,IDEA中的XML无法解析资源,这是一个已知的问题。我所能达到的最佳效果是运行app/android:run
SBT task从IntelliJ部署和启动应用程序。当我尝试配置Android应用程序任务时,我仍然得到AndroidManifest.xml不存在或有不正确的根标记
消息-我可以用SBT任务替换Make
,如Android:package
,并忽略错误消息-然后SBT运行,包生成,但应用程序未部署或启动(因此无法从IDE中调试)。此清单问题是否也属于不可解析资源类别?必须删除Make
任务,句点。部署是自动的,就像debugI()一样。如果忽略无效配置警告(并手动设置SBT生成文件的APK路径),然后在SBT完成后,我无法从清单中获取主包。错误。