Android studio 1.0.2无法解析除MainActivity之外的所有java源中的符号R
我在com.example.example包下有MainActivity。我在com.example.example.fragments下有几个片段。我在com.example.example.utils下有几个类 虽然MainActivity还可以,但所有其他人在解决符号R时都有问题。我将其中一个移动到com.example.example,但仍然有问题,所以我将其移回com.example.example.utils,突然间它还可以,但后来我意识到它将com.example.example.R添加到了导入部分。虽然它确实有效,但我删除了它,因为它是一种变通方法,而不是修复方法(MainActivity的部分中没有此导入) 我所有的XML文件都有一个绿色指示,所以我想不是这样的。我读了很多关于这个问题的帖子,但是没有任何帮助,既不清洁也不建造。还有什么会导致此错误Android studio 1.0.2无法解析除MainActivity之外的所有java源中的符号R,java,android,android-studio,Java,Android,Android Studio,我在com.example.example包下有MainActivity。我在com.example.example.fragments下有几个片段。我在com.example.example.utils下有几个类 虽然MainActivity还可以,但所有其他人在解决符号R时都有问题。我将其中一个移动到com.example.example,但仍然有问题,所以我将其移回com.example.example.utils,突然间它还可以,但后来我意识到它将com.example.example.
更新:显然,当移动com.example.example下的所有源时,它确实起作用,所以问题应该是:当源位于主com.example.example中的不同包下时,如何使其起作用。example实际上,这不是一个解决办法。如果查看清单,根级别标记具有
package=“com.example.example”
属性。这确实是正确的行为。这是应用程序包的名称空间,所有资源都位于该名称空间中。您的MainActivity
没有此功能的原因是它位于包名称空间中,在您的情况下,它的包已经是com.example.example
,因此为了让其他类在子文件夹下工作(我这样做完全是为了组织目的),我必须导入com.example.example.R?这是这种情况下的最佳实践?是的。搜索一下Android中的R
是什么。因为它遵循普通的Java包约定,所以它只是一个包。不久前我也遇到过类似的情况。我已经接受了:)我创建了子文件夹,这样可以更清晰地查看内容所在的位置。我认为R比这更聪明:)