出自Android开发指南,http://developer.android.com/guide/developing/projects/index.html
Android Projects
Android projects are the projects that eventually get built into an .apk
file that you install onto a device. They contain things such as application source code and resource files. Some are generated for you by default, while others should be created if required. The following directories and files comprise an Android project:
以下有些文件夹是默认生成的,而另一些是当你需要时自己创建的。但包名必须遵循Android的命名,这样利于系统自己的管理。
-
Contains your stub Activity file, which is stored at
src/your/package/namespace/ActivityName.java
. All other source code files (such as.java
or.aidl
files) go here as well. -
Output directory of the build. This is where you can find the final
.apk
file and other compiled resources. - Contains native code sources developed using the Android NDK. For more information, see the Android NDK documentation.
-
Contains the Java files generated by ADT, such as your
R.java
file and interfaces created from AIDL files. -
This is empty. You can use it to store raw asset files. Files that you save here are compiled into an
.apk
file as-is, and the original filename is preserved. You can navigate this directory in the same way as a typical file system using URIs and read files as a stream of bytes using the theAssetManager
. For example, this is a good location for textures and game data. -
Contains application resources, such as drawable files, layout files, and string values. See
Application Resources for more information.
- For XML files that are compiled into animation objects. See the Animation resource type.
- For XML files that describe colors. See the Color Values resource type.
- For bitmap files (PNG, JPEG, or GIF), 9-Patch image files, and XML files that describe Drawable shapes or a Drawable objects that contain multiple states (normal, pressed, or focused). See the Drawable resource type.
- XML files that are compiled into screen layouts (or part of a screen). See the Layout resource type.
- For XML files that define application menus. See the Menus resource type.
-
For arbitrary raw asset files. Saving asset files here instead of in the
assets/
directory only differs in the way that you access them. These files are processed by aapt and must be referenced from the application using a resource identifier in theR
class. For example, this is a good place for media, such as MP3 or Ogg files. -
For XML files that are compiled into many kinds of resource. Unlike other resources in the
res/
directory, resources written to XML files in this folder are not referenced by the file name. Instead, the XML element type controls how the resources is defined within them are placed into theR
class. -
For miscellaneous XML files that configure application components. For example, an XML file that defines a
PreferenceScreen
,AppWidgetProviderInfo
, or Searchability Metadata. See Application Resources for more information about configuring these application components.
anim/
color/
drawable/
layout/
menu/
raw/ 和assets/文件夹中的资源是不同的,这里面的资源会有系统自动生成索引以供调用
values/ 不是通过文件名来引用这个资源,而是在XML文件中每个元素都由对应的索引在R.java文件中
xml/
- Contains private libraries.
- The control file that describes the nature of the application and each of its components. For instance, it describes: certain qualities about the activities, services, intent receivers, and content providers; what permissions are requested; what external libraries are needed; what device features are required, what API Levels are supported or required; and others. See the AndroidManifest.xml documentation for more information
- This file contains project settings, such as the build target. This file is integral to the project, so maintain it in a source revision control system. To edit project properties in Eclipse, right-click the project folder and select Properties.
- Customizable computer-specific properties for the build system. If you use Ant to build the project, this contains the path to the SDK installation. Because the content of the file is specific to the local installation of the SDK, maintained it in a source revision control system. If you use Eclipse, this file is not used.
- Customizable properties for the build system. You can edit this file to override default build settings used by Ant and also provide the location of your keystore and key alias so that the build tools can sign your application when building in release mode. This file is integral to the project, so maintain it in a source revision control system. If you use Eclipse, this file is not used.
- The Ant build file for your project. This is only applicable for projects that you build with Ant.
src/ 源代码文件夹
bin
jni
gen/ 由ADT生成的java文件,如:R.java文件来定义项目所有资源的索引
assets/ 存储一些有用的资源,可以通过URI或AssetManager调用,但它不会有系统自己生成索引,不会有ID值出现在R.java文件中
res/ 应用程序资源
libs/
AndroidManifest.xml
project.properties
local.properties
ant.properties
build.xml