Publishing is the general process that makes your Android app available to users. When you
publish an Android app, you do the following:
- Prepare the app for release.
During the preparation step, you build a release version of your app.
- Release the app to users.
During the release step, you publicize, sell, and distribute the release version of your
app, which users can download and install on their Android-powered devices.
This page provides an overview of the process for preparing to publish
your app. If you plan to publish on Google Play, read
Release with confidence
.
If you use a Continuous Integration server, you can configure it to automate the steps outlined
here. You can also configure it to push builds to your
internal test distribution channel
.
Prepare your app for release
Preparing your app for release is a multistep process involving the following
tasks:
- Configure your app for release.
At a minimum, you need to make sure that logging is disabled and removed and
that your release variant has
debuggable false
for Groovy or
isDebuggable = false
for Kotlin script set. You should also
set your app's version information
.
- Build and sign a release version of your app.
You can use the Gradle build files with the
release
build type to build and sign a
release version of your app. For more information, see
Build and run your app
.
- Test the release version of your app.
Before you distribute your app, you should thoroughly test the release version on at
least one target handset device and one target tablet device.
Firebase Test Lab
is useful for testing across a variety of devices and configurations.
- Update app resources for release.
Make sure that all app resources, such as multimedia files and graphics,
are updated and included with your app or staged on the proper production servers.
- Prepare remote servers and services that your app depends on.
If your app depends on external servers or services, make sure they
are secure and production ready.
You might need to perform several other tasks as part of the preparation process. For example,
you need to create an account on the app marketplace you want to use, if you don't already have
one. You also need to create an icon for your app, and you might want to prepare
an End User License Agreement (EULA) to protect yourself, your organization, and your intellectual
property.
To learn how to prepare your app for release, see
Prepare for release
for step-by-step instructions for
configuring and building a release version of your app.
When you are finished preparing your app for release, you have a signed
APK file that you can distribute to users.
Release your app to users
You can release your Android apps several ways. Typically, you release apps
through an app marketplace such as
Google Play
. You can also
release apps on your own website or by sending an app directly to a user.
Release through an app marketplace
If you want to distribute your apps to the broadest possible audience, release them through
an app marketplace.
Google Play is the premier marketplace for Android apps and is particularly
useful if you want to distribute your apps to a large global audience.
However, you can distribute your apps through any app marketplace, and
you can use multiple marketplaces.
Release your apps on Google Play
Google Play
is a robust publishing platform that helps you
publicize, sell, and distribute your Android apps to users around the world. When you
release your apps 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 apps are being
distributed to.
Google Play also gives you access to several revenue-enhancing features such as
in-app billing
and
app licensing
. 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 apps.
Releasing your app on Google Play
is a
simple process that involves three basic steps:
- Prepare promotional materials.
To fully leverage the marketing and publicity capabilities of Google Play, you need to
create promotional materials for your app such as screenshots, videos, graphics, and
promotional text.
- Configure options and uploading assets.
Google Play lets you target your app 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 app type, category, and
content rating. When you are done configuring options, you can upload your promotional materials
and your app as a draft app.
- Publish the release version of your app.
If you are satisfied that your publishing settings are correctly configured and your
uploaded app is ready to be released to the public, click
Publish
. Once it has passed Google Play review, your app will be
live and available for download around the world.
For more information, see
How Google Play works
.
Release through a website
If you don't 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 release through a website:
- Prepare your app for release
.
- Host the release-ready APK file on your website.
- Provide a download link to users.
When users browse to the download link from their Android-powered devices,
the file is downloaded and the Android system automatically starts installing it on
the device.
Note:
The installation process will start automatically only if
the user has configured their settings to allow the installation of apps from
unknown sources
.
Although it is relatively easy to release your app on your own
website, it can be inefficient. For example, if you want to monetize your
app, you need to process and track all financial transactions
yourself, and you can't use Google Play's
in-app billing service
to sell in-app products. You also can't use
app licensing
to
help prevent unauthorized installation and use of your app.
User opt-in for unknown apps and sources
Android protects users from inadvertent download and installation of apps from
locations other than a trusted, first-party app store, such as Google Play.
Android blocks such installs until the user opts into allowing the
installation of apps from other sources. The opt-in process depends on the
version of Android running on the user's device:
Figure 1.
The
Install unknown apps
system settings screen,
where users grant permission for a particular source to install unknown
apps.
- On devices running Android 8.0 (API level 26) and higher, users must
navigate to the
Install unknown apps
system settings screen to enable
app installations from a particular source.
- On devices running Android 7.1.1 (API level 25) and lower, users must
either enable the
Unknown sources
system setting or allow a single
installation of an unknown app.
Install unknown apps
On devices running Android 8.0 (API level 26) and higher, users must grant
permission to install apps from a source that isn't a first-party app store. To
do so, they must enable the
Allow app installs
setting for that
source within the
Install unknown apps
system settings screen, shown in figure 1.
Note:
Users can change this setting for a particular
source at any time. Therefore, a source that installs unknown apps should always
call
canRequestPackageInstalls()
to check whether the user has granted that source
permission to install unknown apps. If this method returns
false
,
the source should prompt the user to re-enable the
Allow app installs
setting for that source.
Unknown sources
Figure 2.
The
Unknown sources
setting
determines whether users can install apps that aren't downloaded
from Google Play.
To permit the installation of apps from non-first-party
sources on devices running Android 7.1.1 (API level 25) and lower, users
enable the
Unknown sources
setting in
Settings > Security
, as shown in Figure 2.
When users attempt to install an unknown app on a
device running Android 7.1.1 (API level 25) or lower, the system sometimes
shows a dialog that asks the user whether they want to allow only one
particular unknown app to be installed. In most cases, it is recommended that users allow
only one unknown app installation at a time, if the option is available.
In either case, users need to make this configuration change before
they can download and install unknown apps onto their devices.
Note:
Some network providers don't let users
install apps from unknown sources.