2012-02-01 40 views
0

当我们创建一个简单的Android应用程序,我们可以在根找到MainActivity.java在的src/com.app.main和R.java/com.app.main(另外,你可以定义另一个文件或包名称,但格式相似)。并从所有所述指示i的代码中发现,似乎SRC/com.app.main & & GEN/com.app.main装置相同的包。为什么? IMO包只是一个文件夹,MainActivity.java位于文件夹src/com/app/main中,R.java位于文件夹gen/com/app/main中,显然是两个不同的文件夹,我认为两个不同的文件夹意思是两个不同的包,有什么不对?src/com.app.main && gen/com.app.main是同一个包吗?

回答

0

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

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

1

src /中有两个Java包名,第二个是android应用包名。 gen中的文件夹结构是基于清单文件中定义的包名称生成的。

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

相关问题