236 lines
13 KiB
Plaintext
236 lines
13 KiB
Plaintext
|
page.title=Publishing Overview
|
||
|
@jd:body
|
||
|
|
||
|
<div id="qv-wrapper">
|
||
|
<div id="qv">
|
||
|
<h2>Quickview</h2>
|
||
|
<ul>
|
||
|
<li>Learn how to publish Android apps.</li>
|
||
|
<li>Find out how to prepare apps for release.</li>
|
||
|
<li>Learn how to release apps to users.</li>
|
||
|
</ul>
|
||
|
<h2>In this document</h2>
|
||
|
<ol>
|
||
|
<li><a href="#publishing-prepare">Preparing Your Application for Release</a></li>
|
||
|
<li><a href="#publishing-release">Releasing Your Application to Users</a>
|
||
|
<ol>
|
||
|
<li><a href="#publishing-market">Releasing on Android Market</a></li>
|
||
|
<li><a href="#publishing-website">Releasing on your own website</a></li>
|
||
|
<li><a href="#publishing-email">Releasing through email</a></li>
|
||
|
</ol>
|
||
|
</ol>
|
||
|
<h2>See also</h2>
|
||
|
<ol>
|
||
|
<li><a href="{@docRoot}guide/publishing/publishing_preparing.html">Preparing for
|
||
|
Release</a></li>
|
||
|
<li><a href="{@docRoot}guide/publishing/publishing.html">Publishing on Android Market</a></li>
|
||
|
</ol>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<p>Publishing is the process that makes your Android applications available to users. When you
|
||
|
publish an Android application you perform two main tasks:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>You prepare the application for release.
|
||
|
<p>During the preparation step you build a release version of your application, which users can
|
||
|
download and install on their Android-powered devices.</p>
|
||
|
</li>
|
||
|
<li>You release the application to users.
|
||
|
<p>During the release step you publicize, sell, and distribute the release version of your
|
||
|
application to users.</p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>Usually, you release your application through an application marketplace, such as Android Market.
|
||
|
However, you can also release applications by sending them directly to users or by letting users
|
||
|
download them from your own website.</p>
|
||
|
|
||
|
<p>Figure 1 shows how the publishing process fits into the overall Android <a
|
||
|
href="{@docRoot}guide/developing/index.html">application development process</a>.
|
||
|
The publishing process is typically performed after you finish testing your application in a debug
|
||
|
environment. Also, as a best practice, your application should meet all of your release criteria for
|
||
|
functionality, performance, and stability before you begin the publishing process.</p>
|
||
|
|
||
|
<img src="{@docRoot}images/publishing/publishing_overview.png" alt="Shows where the publishing
|
||
|
process fits into the overall development process" height="86" id="figure1" />
|
||
|
<p class="img-caption">
|
||
|
<strong>Figure 1.</strong> Publishing is the last phase of the Android <a
|
||
|
href="{@docRoot}guide/developing/index.html">application development process</a>.
|
||
|
</p>
|
||
|
|
||
|
<h2 id="publishing-prepare">Preparing Your Application for Release</h2>
|
||
|
|
||
|
<p>Preparing your application for release is a multi-step process that involves the following
|
||
|
tasks:</p>
|
||
|
|
||
|
<ul>
|
||
|
|
||
|
<li>Configuring your application for release.
|
||
|
<p>At a minimum you need to remove {@link android.util.Log} calls and remove the
|
||
|
<a href="{@docRoot}guide/topics/manifest/application-element.html#debug">android:debuggable</a>
|
||
|
attribute from your manifest file. You should also provide values for the
|
||
|
<code>android:versionCode</code> and <code>android:versionName</code> attributes, which are
|
||
|
located in the
|
||
|
<a href="{@docRoot}guide/topics/manifest/manifest-element.html"><manifest></a>
|
||
|
element. You may also have to configure several other settings to meet Android Market
|
||
|
requirements or accomodate whatever method you're using to release your application.</p>
|
||
|
</li>
|
||
|
<li>Building and signing a release version of your application.
|
||
|
<p>The Android Development Tools (ADT) plugin and the Ant build script that are provided
|
||
|
with the Android SDK tools provide everything you need to build and sign a release version of
|
||
|
your application.</p>
|
||
|
</li>
|
||
|
<li>Testing the release version of your application.
|
||
|
<p>Before you distribute your application, you should thoroughly test the release version on at
|
||
|
least one target handset device and one target tablet device.</p>
|
||
|
</li>
|
||
|
<li>Updating application resources for release.
|
||
|
<p>You need to be sure that all application resources such as multimedia files and graphics
|
||
|
are updated and included with your application or staged on the proper production servers.</p>
|
||
|
</li>
|
||
|
<li>Preparing remote servers and services that your application depends on.
|
||
|
<p>If your application depends on external servers or services, you need to be sure they
|
||
|
are secure and production ready.</p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>You may have to perform several other tasks as part of the preparation process. For example, you
|
||
|
will need to get a private key for signing your application, and you may need to get a Maps API
|
||
|
release key if you are using the <a
|
||
|
href="http://code.google.com/android/add-ons/google-apis/maps-overview.html">Google Maps external
|
||
|
library</a>. You will also need to create an icon for your application, and you may want to prepare
|
||
|
an End User License Agreement (EULA) to protect your person, organization, and intellectual
|
||
|
property.</p>
|
||
|
|
||
|
<p>When you are finished preparing your application for release you will have a signed
|
||
|
<code>.apk</code> file that you can distribute to users.</p>
|
||
|
|
||
|
<p>To learn how to prepare your application for release, see <a
|
||
|
href="{@docRoot}guide/publishing/preparing.html">Preparing for Release</a> in the Dev Guide. This
|
||
|
topic provides step-by-step instructions for configuring and building a release version of your
|
||
|
application.</p>
|
||
|
|
||
|
<h2 id="publishing-release">Releasing Your Application to Users</h2>
|
||
|
|
||
|
<p>You can release your Android applications several ways. Usually, you release applications
|
||
|
through an application marketplace, such as Android Market, but you can also release applications
|
||
|
on your own website or by sending an application directly to a user. Android Market is the
|
||
|
recommended marketplace for Android applications and is particularly useful if you want to
|
||
|
distribute your applications to a large global audience. The other two release methods—server
|
||
|
distribution and email distribution—are useful if you are releasing an application to a small
|
||
|
group of users (for example, a work group in an enterprise environment), or if you do not want to
|
||
|
make your application available to the general public.</p>
|
||
|
|
||
|
<h3 id="publishing-market">Releasing Your Applications on Android Market</h3>
|
||
|
|
||
|
<p>Android Market is a robust publishing platform that helps you publicize, sell, and distribute
|
||
|
your Android applications to users around the world. When you release your applications through
|
||
|
Android Market you have access to a suite of developer tools that let you analyze your sales,
|
||
|
identify market trends, and control who your applications are being distributed to. You also have
|
||
|
access to several revenue-enhancing features that are not available anywhere else, such as <a
|
||
|
href="{@docRoot}guide/market/billing/index.html">in-app billing</a> and <a
|
||
|
href="{@docRoot}guide/publishing/licensing.html">application licensing</a>. This rich array of tools
|
||
|
and features, coupled with numerous end-user community features, makes Android Market the premier
|
||
|
marketplace for selling and buying Android applications.</p>
|
||
|
|
||
|
<p>Releasing your application on Android Market is a simple process that involves four basic
|
||
|
steps:</p>
|
||
|
|
||
|
<div class="figure" style="width:275px">
|
||
|
<img src="{@docRoot}images/publishing/publishing_unknown_sources.png"
|
||
|
alt="Screenshot showing the graphical user interface element that allows unknown sources
|
||
|
to be installed" />
|
||
|
<p class="img-caption">
|
||
|
<strong>Figure 2.</strong> The <strong>Unknown sources</strong> setting lets you install
|
||
|
applications that are not published on Android Market .
|
||
|
</p>
|
||
|
</div>
|
||
|
|
||
|
<ul>
|
||
|
<li>Preparing promotional materials.
|
||
|
<p>To fully leverage the marketing and publicity capabilities of Android Market, you need to
|
||
|
create promotional materials for your application, such as screenshots, videos, graphics, and
|
||
|
promotional text.</p>
|
||
|
</li>
|
||
|
<li>Planning publishing options.
|
||
|
<p>Android Market lets you target your application to a worldwide pool of users and devices.
|
||
|
Using various Android Market tools, you can choose the countries you want to reach, the
|
||
|
price you want to charge in each country, and the devices you want to target. You can also
|
||
|
use Android Market's filtering settings to target specific device features and capabilities.</p>
|
||
|
</li>
|
||
|
<li>Configuring publishing options and uploading assets.
|
||
|
<p>After you create your promotional materials and determine which publishing options are
|
||
|
suitable for your application, you can use the Android Market developer console to configure
|
||
|
those options and upload the promotional materials. You can also use the developer console to
|
||
|
upload your application as a draft (unpublished) application, which lets you do final
|
||
|
testing before you publish it for final release.</p>
|
||
|
</li>
|
||
|
<li>Publishing the release version of your application.
|
||
|
<p>When you are satisfied that your publishing settings are correctly configured and your
|
||
|
uploaded application is ready to be released to the public, you can simply click
|
||
|
<strong>Publish</strong > in the developer console and within minutes your application will be
|
||
|
live and available for download around the world.</p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>For information about Android Market, see <a
|
||
|
href="{@docRoot}guide/publishing/publishing.html#market">Publishing on Android Market</a>. This
|
||
|
topic provides an introduction to Android Market features and provides a step-by-step guide for
|
||
|
distributing your applications on Android Market.</p>
|
||
|
|
||
|
<h3 id="publishing-website">Releasing your application on your own website</h3>
|
||
|
|
||
|
<p>If you do not want to release your application on an application marketplace like Android Market,
|
||
|
you can release your application by making it available for download on your own website or server.
|
||
|
To do this, you must first prepare your application for release (that is, you must build it for
|
||
|
release and sign it). Then all you need to do is host the release-ready application on your website
|
||
|
and provide a download link for the application. When users browse to your website with their
|
||
|
Android-powered devices and download your application, the Android system will automatically start
|
||
|
installing the application on the device. However, the installation process will start automatically
|
||
|
only if the user has configured their device to allow the installation of non-Android Market
|
||
|
applications.</p>
|
||
|
|
||
|
<div class="figure" style="width:275px">
|
||
|
<img src="{@docRoot}images/publishing/publishing_via_email.png"
|
||
|
alt="Screenshot showing the graphical user interface users see when you send them an app"
|
||
|
height="453" />
|
||
|
<p class="img-caption">
|
||
|
<strong>Figure 3.</strong> Users can simply click <strong>Install</strong> when you send them
|
||
|
an application via email.
|
||
|
</p>
|
||
|
</div>
|
||
|
|
||
|
<p>By default, Android-powered devices allow users to install applications only if the applications
|
||
|
have been downloaded from Android Market. To allow the installation of applications from other
|
||
|
sources, users need to enable the <strong>Unknown sources</strong> setting on their devices, and
|
||
|
they need to make this configuration change before they download your application to their
|
||
|
device (see figure 2).</p>
|
||
|
|
||
|
<p class="note"><strong>Note:</strong> Some network providers do not allow users to install
|
||
|
applications from unknown sources.</p>
|
||
|
|
||
|
<p>Although it is relatively easy to release your application on your own website, it can be
|
||
|
inefficient and cumbersome. For example, if you want to monetize your application you will
|
||
|
have to process and track all financial transactions yourself and you will not be able to use
|
||
|
Android Market's in-app billing feature to sell in-app products. In addition, you will not be
|
||
|
able to use the licensing feature to help prevent unauthorized installation and use of your
|
||
|
application.</p>
|
||
|
|
||
|
<h3 id="publishing-email">Releasing your application through email</h3>
|
||
|
|
||
|
<p>The easiest and quickest way to release your application is to send it to a user through
|
||
|
email. To do this, you prepare your application for release and then attach it to an email
|
||
|
and send it to a user. When the user opens your email message on their Android-powered device
|
||
|
the Android system will recognize the <code>.apk</code> and display an <strong>Install Now</strong>
|
||
|
button in the email message (see figure 3). Users can install your application by touching the
|
||
|
button.</p>
|
||
|
|
||
|
<p class="note"><strong>Note:</strong> The <strong>Install Now</strong> button appears only if a
|
||
|
user has configured their device to allow the installation of non-Android Market applications and
|
||
|
they open your email with the native Gmail application.</p>
|
||
|
|
||
|
<p>Releasing applications through email is convenient if you are sending your application to
|
||
|
only a few trusted users, but it provides few protections from piracy and unauthorized
|
||
|
distribution; that is, anyone you send your application to can simply forward it to someone else.
|
||
|
else.
|