2b286bb26b
Change-Id: I5528e82a6f97eb25f2ec2db5dfe1e178d9580f3c
239 lines
12 KiB
Plaintext
Executable File
239 lines
12 KiB
Plaintext
Executable File
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>
|
|
<h2>See also</h2>
|
|
<ol>
|
|
<li><a href="{@docRoot}distribute/googleplay/publish/preparing.html">Publishing on Google Play</a></li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
|
|
<p>Publishing is the general 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 <a href="{@docRoot}distribute/index.html">Google Play</a>.
|
|
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}tools/workflow/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}tools/workflow/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 Google Play
|
|
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}tools/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 Google Play, but you can also release applications
|
|
on your own website or by sending an application directly to a user.
|
|
|
|
<h3 id="publishing-marketplace">Releasing through an App Marketplace</h3>
|
|
|
|
<p>If you want to distribute your apps to the broadest possible audience, releasing through
|
|
an app marketplace such as Google Play is ideal. </p>
|
|
|
|
<p>Google Play is the premier marketplace for Android apps and is particularly
|
|
useful if you want to distribute your applications to a large global audience.
|
|
However, you can distribute your apps through any app marketplace you want or
|
|
you can use multiple marketplaces.</p>
|
|
|
|
|
|
<h4 id="publishing-market">Releasing Your Applications on Google Play</h4>
|
|
|
|
<p>Google Play 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
|
|
Google Play 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 such as <a
|
|
href="{@docRoot}google/play/billing/index.html">in-app billing</a> and <a
|
|
href="{@docRoot}google/play/licensing/index.html">application licensing</a>. The rich array of tools
|
|
and features, coupled with numerous end-user community features, makes Google Play the premier
|
|
marketplace for selling and buying Android applications.</p>
|
|
|
|
<p>Releasing your application on Google Play is a simple process that involves three basic
|
|
steps:</p>
|
|
|
|
<ul>
|
|
<li>Preparing promotional materials.
|
|
<p>To fully leverage the marketing and publicity capabilities of Google Play, you need to
|
|
create promotional materials for your application, such as screenshots, videos, graphics, and
|
|
promotional text.</p>
|
|
</li>
|
|
<li>Configuring options and uploading assets.
|
|
<p>Google Play lets you target your application to a worldwide pool of users and devices.
|
|
By configuring various Google Play settings, you can choose the countries you want to
|
|
reach, the listing languages you want to use, and the price you want to charge in each
|
|
country. You can also configure listing details such as the application type, category, and
|
|
content rating. When you are done configuring options you can upload your promotional materials
|
|
and your application as a draft (unpublished) application.</p>
|
|
</li>
|
|
<li>Publishing the release version of your application.
|
|
<p>If 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 complete information, see <a href="{@docRoot}distribute/index.html">Google Play</a>.</p>
|
|
|
|
|
|
<h3 id="publishing-email">Releasing your application through email</h3>
|
|
|
|
<div class="figure" style="width:246px">
|
|
<img src="{@docRoot}images/publishing/publishing_via_email.png"
|
|
alt="Screenshot showing the graphical user interface users see when you send them an app"
|
|
style="width:240px;" />
|
|
<p class="img-caption">
|
|
<strong>Figure 1.</strong> Users can simply click <strong>Install</strong> when you send them
|
|
an application via email.
|
|
</p>
|
|
</div>
|
|
|
|
<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 APK and display an <strong>Install Now</strong>
|
|
button in the email message (see figure 1). Users can install your application by touching the
|
|
button.</p>
|
|
|
|
<p class="note"><strong>Note:</strong> The <strong>Install Now</strong> button
|
|
shown in Figure 1 appears only if a user has configured their device to allow
|
|
installation from <a href="#unknown-sources">unknown sources</a> and has opened your
|
|
email with the native Gmail application.</p>
|
|
|
|
<p>Distributing 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.</p>
|
|
|
|
<h2 id="publishing-website">Releasing through a web site</h2>
|
|
|
|
<p>If you do not want to release your app on a marketplace like Google Play, you
|
|
can make the app available for download on your own website or server, including
|
|
on a private or enterprise server. To do this, you must first prepare your
|
|
application for release in the normal way. Then all you need to do is host the
|
|
release-ready APK file on your website and provide a download link to users.
|
|
</p>
|
|
|
|
<p>When users browse to the download link from their Android-powered devices,
|
|
the file is downloaded and Android system automatically starts installing it on
|
|
the device. However, the installation process will start automatically only if
|
|
the user has configured their Settings to allow the installation of apps from
|
|
<a href="#unknown-sources">unknown sources</a>.</p>
|
|
|
|
<p>Although it is relatively easy to release your application on your own
|
|
website, it can be inefficient. 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 Google Play's <a
|
|
href="{@docRoot}google/play/billing/index.html">In-app Billing service</a>
|
|
to sell in-app products. In addition, you will not be able to use the <a
|
|
href="{@docRoot}google/play/licensing/index.html">Licensing service</a> to
|
|
help prevent unauthorized installation and use of your application.</p>
|
|
|
|
|
|
<h2 id="unknown-sources">User Opt-In for Apps from Unknown Sources</h2>
|
|
|
|
<div class="figure" style="width:246px;margin-top:0;">
|
|
<img src="{@docRoot}images/publishing/publishing_unknown_sources_sm.png"
|
|
alt="Screenshot showing the setting for accepting download and install of
|
|
apps from unknown sources." style="width:240px;" />
|
|
<p class="img-caption">
|
|
<strong>Figure 2.</strong> Users must enable the <strong>Unknown sources</strong>
|
|
setting before they can install apps not downloaded from Google Play.
|
|
</p>
|
|
</div>
|
|
|
|
<p>Android protects users from inadvertent download and install of apps from
|
|
locations other than Google Play (which is trusted). It blocks such installs
|
|
until the user opts-in <strong>Unknown sources</strong> in
|
|
Settings <strong>></strong> Security, shown in Figure 2. To allow
|
|
the installation of applications from other sources, users need to enable the
|
|
Unknown sources setting on their devices, and they need to make this
|
|
configuration change <em>before</em> they download your application to their
|
|
devices.</p>
|
|
|
|
<p class="note">Note that some network providers do not allow users to install
|
|
applications from unknown sources.</p>
|