src / com.app.main&& gen / com.app.main是同一个包吗?

时间:2012-02-01 08:35:55

标签: java android package

当我们创建一个简单的Android应用程序时,我们可以在 src / com.app.main 中找到MainActivity.java,在 中找到R.java gen / com.app.main (另外,您可以定义另一个文件或包名,但格式类似)。从我在代码中找到的所有指示来看,似乎 src / com.app.main && gen / com.app.main 表示相同的包。为什么? IMO包只是一个文件夹,MainActivity.java在文件夹src / com / app / main中,R.java在文件夹gen / com / app / main中,显然是两个不同的文件夹,我认为两个不同的文件夹意思是两个不同的包,有什么不对吗?

2 个答案:

答案 0 :(得分:1)

有一件事是src /中的Java包名,第二件是android app包名。 gen中的文件夹结构是根据清单文件中定义的包名称生成的。

这两个也可能不同,在这种情况下,您将导入R,并在Java文件中附加适当的包名称。

答案 1 :(得分:0)

首先,包不是文件夹。源文件属于该文件第一行的package子句指示的包。创建与包结构相对应的文件夹结构只是一种惯例。

其次,将文件夹映射到包文件夹时,将其视为相对于各自的基本源文件夹。在您的情况下,有两个源文件夹:源src和生成源gen,两个文件夹都包含对应同一个包的子文件夹。