-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Android Directory Structure
Within an Android project structure, the most frequently edited folders are:
-
src
- Java source files associated with your project. This includes the Activity "controller" files as well as your models and helpers. -
res
- Resource files associated with your project. All graphics, strings, layouts, and other resource files are stored in the resource file hierarchy under the res directory. -
res/layout
- XML layout files that describe the views and layouts for each activity and for partial views such as list items. -
res/values
- XML files which store various attribute values. These include strings.xml, dimens.xml, styles.xml, colors.xml, themes.xml, and so on. -
res/drawable
- Here we store the various density-independent graphic assets used in our application. -
res/drawable-hdpi
- Series of folders for density specific images to use for various resolutions. -
res/mipmap
- most commonly used for application icons. See this section for more details.
The most frequently edited files are:
-
res/layout/activity_foo.xml
- This file describes the layout of the activity's UI. This means the placement of every view object on one app screen. -
src/.../FooActivity.java
- The Activity "controller" that constructs the activity using the view, and handles all event handling and view logic for one app screen. -
AndroidManifest.xml
- This is the Android application definition file. It contains information about the Android application such as minimum Android version, permission to access Android device capabilities such as internet access permission, ability to use phone permission, etc.
Other less edited folders include:
-
gen
- Generated Java code files, this library is for Android internal use only. -
assets
- Uncompiled source files associated with your project; Rarely used. -
bin
- Resulting application package files associated with your project once it’s been built. -
libs
- Before the introduction of Gradle build system, this directory was used for any secondary libraries (jars) you might want to link to your app.
Created by CodePath with much help from the community. Contributed content licensed under cc-wiki with attribution required. You are free to remix and reuse, as long as you attribute and use a similar license.
Finding these guides helpful?
We need help from the broader community to improve these guides, add new topics and keep the topics up-to-date. See our contribution guidelines here and our topic issues list for great ways to help out.
Check these same guides through our standalone viewer for a better browsing experience and an improved search. Follow us on twitter @codepath for access to more useful Android development resources.