| page.title=Building and Running Overview |
| @jd:body |
| |
| <div id="qv-wrapper"> |
| <div id="qv"> |
| <h2>See also</h2> |
| <ol> |
| <li><a href="{@docRoot}tools/building/building-studio.html"> |
| Building Your Project from Android Studio</a></li> |
| <li><a href="{@docRoot}tools/building/building-cmdline.html"> |
| Building Your Project from the Command Line</a></li> |
| <li><a href="{@docRoot}sdk/building/studio-build.html"> |
| Build System</a></li> |
| </ol> |
| </div> |
| </div> |
| |
| |
| <p>The Android build process provides project and module build settings so that |
| your Android modules are compiled and packaged into <code>.apk</code> files, the containers |
| for your application binaries, based on your build settings. The apk file for each app contains all |
| of the information necessary to run your application on a device or emulator, such as compiled |
| <code>.dex</code> files (<code>.class</code> files converted to Dalvik byte code), a binary version |
| of the <code>AndroidManifest.xml</code> file, compiled resources (<code>resources.arsc</code>) and |
| uncompiled resource files for your application.</p> |
| |
| <p>To run an application on an emulator or device, the application must be signed using debug or |
| release mode. You typically want to sign your application in debug mode when you develop and test |
| your application, because the build system uses a debug key with a known password so you do not have |
| to enter it every time you build. When you are ready to release the application to Google |
| Play, you must sign the application in release mode, using your own private key.</p> |
| |
| <p>If you are using Android development tools, the build system can sign the application for you |
| when build your app for debugging. You must obtain a certificate to sign your app when you build |
| and app for release. For more information on signing applications, see |
| <a href="{@docRoot}tools/publishing/app-signing.html">Signing Your Applications</a>.</p> |
| |
| <p>The following diagram depicts the components involved in building and running an application:</p> |
| |
| <img src="{@docRoot}images/build-simplified.png" /> |