2012-02-01 2 views
0

我々は、単純なAndroidアプリを作成する場合、我々は(また、ユーザーが定義することができますGEN/com.app.mainのsrc/com.app.mainとR.javaにMainActivity.javaを見つけることができます別のファイルまたはパッケージ名ですが、形式は似ています)。そして私は、コードで見つかったすべての兆候から、のsrc/com.app.main & & GEN/com.app.mainは、同じパッケージを意味しているようです。どうして? IMOパッケージはフォルダだけで、MainActivity.javaはsrc/com/app/mainフォルダにあり、R.javaはgen/com/app/mainフォルダにあります。明らかに2つの異なるフォルダです.2つの異なるフォルダ2つの異なるパッケージを意味する、何か間違っている?src/com.app.main && gen/com.app.mainは同じパッケージですか?

答えて

0

まずはパッケージはフォルダではありません。ソースファイルは、そのファイルの最初の行にあるpackage句で指定されたパッケージに属します。パッケージ構造に対応するフォルダ構造を作成することは単なる慣例にすぎません。

第2に、フォルダをパッケージフォルダにマッピングすると、それぞれのベースソースフォルダに対して相対的に扱われます。 2つのソースフォルダがあります。ソースはsrc、生成されたソースはgenで、両方のフォルダには同じパッケージに対応するサブフォルダが含まれています。

1

src /にJavaパッケージ名が2つあり、2番目はアンドロイドアプリパッケージ名です。 genのフォルダ構造は、マニフェストファイルで定義されたパッケージ名に基づいて生成されます。

これらの2つは異なる場合もあります。その場合、適切なパッケージ名をJavaファイルに追加してインポートします。

関連する問題