II更新了AS到最新的稳定版本,我的所有项目都融化了。只有主目录(com.company.app)中的Java文件才能按预期找到R.java。我所有的子目都找不到它。我没有在更新之前导入R.java。我从头开始重建我的项目,恢复备份,从备份复制粘贴到新项目,重新安装AS,重新启动PC,无效缓存并重新启动,清理,每次都转到insta-fix-it解决方案,互联网始终建议并仍然我不能让这个工作。
有人可以告诉我我的子目录如何找不到R.java但主目录中的其他文件可以吗?这是AS中的功能变化还是什么?我们现在应该导入R.java吗?没有XML错误。在将任何子目录文件移回主包之前,我的项目已经构建完成。包名称与清单中的名称完全匹配。
编辑1:我可以重建我的项目并制作R.java。主包文件仍然可以在没有导入的情况下看到它,但是子目录找不到它。
编辑2:我可以将文件从我的主程序包移动到子目录,它仍然可以找到R.java。这似乎是一个编译器故障。
编辑3:导入R.java会使错误消失,所以我想这是一个解决方案。我打开这个问题因为这没有逻辑意义。
答案 0 :(得分:0)
您需要了解App资源的运作方式。
构建Android项目时,/res
文件夹中的所有资源都将自动映射到生成的your.package.names.R
类中。
现在您想通过该类访问资源。只有当您在不同的包中使用该文件时才需要导入该文件,这才有意义。
答案 1 :(得分:0)
我有这个问题,即使错误没有用红色加下划线,我的strings.xml中也有错误。转到Values-> strings.xml并检查是否复制了任何字符串。