blob: b5a56c0c9a4ca5c90a18cd30e6dd1a38d26c4ef4 [file] [log] [blame]
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/installing/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" />