UIKit Apprentice, Second Edition – Now Updated!

Learn iOS and Swift from scratch. Build four powerful apps—with support for iPad and Dark Mode. Publish apps to the App Store.

Home Android & Kotlin Tutorials

Android App Distribution Tutorial: From Zero to Google Play Store

From Zero to Google Play Store: Learn how to get your completed Android app on the Google Play Store in this step-by-step Android app distribution tutorial.

5/5 3 Ratings


  • Kotlin 1.3, Android 10.0, Android Studio 3.5
Update note: Pablo Sanchez Egido updated this tutorial for Kotlin 1.3, Android 10 and Android Studio 3.5.3. Matt Luedke wrote the original.

You finished your Android app and celebrated its perfection with many flagons of ale (or pitchers of beer). Hooray! Now you’re ready to send your app out into the world. Soon it will reside not only on your Android device but on the devices of people around the globe. It’s an exciting step!

But how will you do this? Well, the most common way to share an Android app is through Google Play Store, where over 2.9 million Android apps are available.

In this tutorial, you’re going to learn both of the existing ways of distributing Android apps on the Google Play marketplace.

Enough talk, time for action! :]

Note: This tutorial assumes you already have Android Studio installed. If not, follow this article first: Installing Android Studio.

Getting Started

Of course, before you can publish an app, you need to have one that’s finished. :] For this tutorial, you’ll use a simple app that allows users to search for books, view their covers and share them with friends.

Download the project files using the Download Materials button at the top or bottom of this tutorial. Open the project in Android Studio. Build and run. Here’s what you’ll see:

Application running

Note: If you have a finished Android app of your own, you can use it instead of the sample app.

Working With the Package Name

First of all, set a new package name for the app. The package name needs to be unique and remain unchanged in Google Play. A common format is the reverse-domain.name, like this:


Currently, the best way to refactor an app’s package name in Android Studio is to start in the Project pane. With the Android view chosen, select the settings icon that looks like this:

Android studio gear icon

You’ll see a drop-down menu with several project viewing options. Make sure Compact Middle Packages is unchecked:

Compact middle packages contextual menu

Now you can refactor the parts of the package name separately. Right-click on the package named raywenderlich, select Refactor ▸ Rename, and change it to your name or domain name. Then do the same for the package android and booksfinder as well. Your project should now look like this (with your own name instead of mine):

Project hierarchy in android view

Next, open build.gradle under Module: app, not the one for the whole project, and find defaultConfig. Update applicationId with your new package name:

defaultConfig {
  applicationId 'com.pablosanchez.android.booksfinder'

Finally, open AndroidManifest.xml, find the manifest tag at the top of the file and then the package attribute within it. Update it with your new package name:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

Build and run to verify that your refactoring worked correctly. With your unique package name in hand, you’re now ready to package your app for distribution. :]

Application running

Packaging Your App for Distribution

Android requires that APKs are digitally signed with a certificate before they can be installed. The certificate identifies the developer of the app. More information about app signing can be found in this article: Android app signing.

There are two ways of distributing apps to the Google Play Store. The first way is to use the traditional Android Application Package format. But there is a second way that uses the new Android App Bundle. This new way is now the recommended method.

Take a look at both methods and decide which one you prefer.

Creating a Signed Bundle

The App Bundle is a new delivery format for Android apps that helps to deliver an optimized version of your APK. It only includes what your users need. This reduces your app size which is a plus for many users. It means that your users will receive a special version of your APK that only includes the language, screen density and resources they need per unique user configuration.

Note: For more information about Android App Bundles, look at this article: Android App Bundles: Getting Started.

Now that you have the basic idea of an Android app bundle, it’s time for you to create your own.

In Android Studio, select Build ▸ Generate Signed Bundle / APK….

Generate signed APK contextual menu

When you’re asked to choose between building an Android App Bundle or an APK, select Android App Bundle.

Android Studio create android app bundle option

Creating a new Keystore

With your app module chosen, you’ll now indicate how to sign the APK. For this, you’ll use a keystore, the storage place for your saved certificates. Be sure to keep these private!

Android Studio will guide you through the process of creating a new keystore. Select Create new….

Creating new keystore

Note: If you already have a keystore on your system, select Choose existing… and navigate to its location.

At this point, you’ll supply quite a bit of information. First, you need to specify a location for saving the keystore. You also need to supply its password, which again, needs to remain private.

After that, enter an alias for the new key, which is a name you’ll use later with the keystore path password. Next, enter a password for the new key itself. And enter the number of years that the key will be valid. Make this at least 25 so that you can sign app updates with the same key throughout the lifespan of your app. You will also need to fill out at least one field under the Certificates section:

Creating new keystore and key

Click OK and Android Studio will create your keystore. You’ll need this file and its password info to make any updates to your app. Don’t lose it! Also, don’t allow unauthorized people to have access to it either.

Using Your New Keystore

With your new keystore, Android Studio returns you to the previous dialog box. You’ll see that the keystore information is filled in already. I suggest checking the “Remember passwords” box to make things easier in the future. Click Next:

Creating new signed APK

The next step asks you to choose a destination folder for your signed bundle. Do this and then select release for the Build Variants. Finally, click Finish:

Android Studio app bundle release build type

When the packaging process is complete, Android Studio will notify you that your bundle is ready and let you browse it in Finder:

Android Studio app bundle generated notification

With your app bundle ready, you can head over to the Google Play Developer Console.

Creating a Signed APK

The other way of distributing apps is by providing an APK to Google Play. In this method, you’ll package all your app’s resources into one zip file.

Refer to the above app bundles section and follow the steps provided to select your signing keystore (or create a new one if you don’t have). When you’ve finished, come back here. I’ll be waiting for you :]

Follow the steps above under Creating a Signed Bundle. When you’re finished, choose a destination folder for your signed APK. As above, select release for the Build Variant. Next, select V1 (Jar Signature) and V2 (Full APK Signature) for the Signature Versions . Finally, click Finish.

Generating signed APK

When the packaging process is complete, Android Studio will notify you that your APK is ready and let you open it in Finder:

APK ready notification

With your APK in hand, it’s time to head to the store.

Using the Google Play Developer Console

Sign in to your Google account.

Note: If you don’t already have an account, you can create one here: Google Accounts

Next, navigate to the Google Play Developer Console. You should see a screen like this:

Google play developer welcome screen

Agree to the Google Play Developer distribution agreement, pay the one-time $25 fee and then complete your profile with the required information.

At this moment, you’re ready to start publishing apps on Google Play. Click on Create application:

Google play console create application

Specify the default language for the app, the app name and click Create.

Create app dialog

This creates a draft store listing for your app, currently containing nothing except the app title.

Don’t be overwhelmed by all the information and options. There’s not that much left for you to do.

Take a look at the left side of Google Play Console:

Google play console left side menu

Notice the checkmarks. These are the required steps to publish your app. You’ll focus on these for the rest of this tutorial.

Providing App Information

First, head to the Store listing menu option. In this section, you’ll enter basic information about your app.

Entering Descriptions

You’ll notice that it already shows the title you gave your app. Enter a short description of no more than 80 characters and a full description of no more than 4,000 characters. Google Play Store will show both of these descriptions in different places of your app listing.

At this moment, you should have something similar to this:

Google play console store listing

Note: For your own app, you’ll want to create as engaging a description as possible, so start thinking about this early in the development process!

Be sure to click Save draft at frequent intervals to preserve your work.

Adding Graphics and Screenshots

When you’re finished with this, scroll down a little and you’ll see that the Google Play Console asks you to upload graphic assets for your app.

You’ll need to upload a 512×512 high-resolution version of the app icon and a 1024×500 “feature graphic” to display at the top of the page. If you’re using this sample app, use these resources:

Sample App Icon

Sample Feature Graphic

When you upload your app icon, you’ll see a small thumbnail of how it will look when listed on the Play Store:

Google play developer console app icon preview

Next, you have to provide, at least, two screenshots of your app. You can provide up to a maximum of eight images per form factor: phone, tablet, android tv and wear OS.

If you have the app on an Android device, you can simply take screenshots straight from the device.

However, if you prefer to use an emulator for the screenshots, you can easily do that, too. Build and run the app and navigate to the screen you want to use. With the app opened in Android emulator, click the camera icon on the right menu:

Android emulator taking screenshot

By default, the emulator will save this screenshot to the Desktop. Now, you can upload it to the Google Play Console.

Note: You’ll notice that you’re able to submit various kinds of screenshots, such as Promo Graphic, TV Banner and Daydream 360 degree stereoscopic image. A discussion of these options is outside the scope of this tutorial but you can learn about them here.

Adding a Promo Video

You can also submit a Promo Video. This would be the url of a Youtube video highlighting the main features of your app..

Scroll down a little more and enter the Application Type, Category and Tags (optional). Ignore the Content Rating section for now.

Keep scrolling down and enter the Website, Contact Email, Phone and Privacy Policy. All of these are optional except for the contact email.

Click Save Draft to preserve the information you’ve entered so far.

Providing Content Info

Now, scroll up again to the Content Rating section and click on the link:

Google play console store listing content rating link

In doing this, you’re greeted with this warning:

Google play console store listing upload apk warning

As Google states, you need to submit your Bundle/APK before filling out the questionnaire.

On the left menu, select App Releases:

Google play console left menu

Scroll down to the Production track section and click Manage:

Google play console app releases production manage

In the new window, click Create Release:

Google play console create release

Submitting Your Bundle or APK

When asked to allow Google to manage your app-signing key, click CONTINUE.

Note: Letting Google manage your app-signing key is mandatory for App Bundles and recommended for APKs. When you upload your signed APK to the Google Play Developer Console, Google signs your app with another key that Google creates and stores securely. Google knows the app was signed by you since you uploaded it with the signed key you created. If you should somehow lose your own signed key, you can inform Google and sign with another key. Google’s key will stay the same and your users will be unaffected.

Google play console opt in google signing

Now you’ve enrolled in Google’s signing process and you’re ready to upload your Bundle or APK.

Drag and drop your files to the indicated area or click Browse Files to select the Bundle or APK file you created earlier.

When the upload is complete, you’ll see something like this:

Google play console apk submitted successfully

Scroll down a little, and give this Bundle or APK a Release Name. This is an internal identifier for you to identify your different versions.

Below that, you can enter some notes specific to this release. Here you can explain any new features or updates you have made in your app. You might have something similar to this:

Google play console new release notes

Next, click on Save ▸ Review. If you used the APK format, you’ll see a warning saying that your app could be smaller if you made use of bundles.

You’ll notice the Start Rollout to Production button is disabled. You’re seeing this because you haven’t yet completed all the steps necessary to release your app.

You should also see a white checkmark on the App Releases option on the left menu:

Google play developer console green app releaes checkmark

This confirms that you have successfully uploaded your app. You’re ready for the final steps!

Answering Questions About App Content

The next step is to complete a brief questionnaire about your app’s content.

Click Content Rating in the left menu:

Google play developer console content rating menu option

Click Continue at the bottom of the pop-up:

Google play developer console continue content questionnaire

Provide your email address. Then select the appropriate app category. For the sample app in this tutorial, select Utility, Productivity, Communication or other. It’s at the bottom of the listed options.:

Google play developer console app category

Next, you have to answer a few questions to allow Google to evaluate the kind of app you’ve submitted. You’ll see several questions. Here are the answers for the Books Finder app:

  1. Does the app contain violent material? -> No
  2. Does the app contain sexual material or nudity (except in a natural or scientific setting)? -> No
  3. Does the app contain any potentially offensive language? -> No
  4. Does the app contain references to or depictions of illegal drugs? -> No
  5. Does the app focus on promoting items or activities that are typically age-restricted such as cigarettes, alcohol, firearms, or gambling? -> No
  6. Does the app natively allow users to interact or exchange content with other users through voice communication, text, or sharing images or audio? -> No
  7. Does the app share the user’s current physical location with other users? -> No
  8. Does the app allow users to purchase digital goods? -> No
  9. Does the app contain any swastikas, other Nazi symbols or propaganda deemed unconstitutional in Germany? -> No
  10. Is the app a web browser or search engine? -> No

In short, provide “No” to all questions:

Google play developer console save questionnaire button

Calculating the Rating

Click on Save Questionnaire ▸ Calculate Rating. You should see something like this:

Google play questionnaire result

This is the rating Google has given your app. Google calculates this based on the responses you just provided in the questionnaire.

Scroll down to the bottom and click on Apply Rating. You’ll notice a white checkmark for the corresponding option on the left menu.

You have only two remaining sections to complete before you’re ready to publish your first Android app :]

Your Google Play Developer Console dashboard should look like this:

Google play developer console left menu two remaining options

Answering Questions About Pricing and Distribution

Click App Content in the left menu:

Google play developer console app content option

You’ll see the following message:

Google play developer console app content warning

This warning indicates that you need to start with the Pricing & Distribution before you can answer the questions regarding App Content.

Click Pricing & Distribution and answer the questions about your plans for distributing and monetizing your app.

If you’re using Books Finder, answer FREE for the first question:

Google play developer console free app

Next, select Available to make your app available for download in all countries:

Google play developer console app available in all countries

Scroll down until you come to the question about ads. Select No, it has no ads:

Google play developer console app has no ads

Skip the next section regarding Device Categories. Books Finder is not for Wear OS devices, Android TV or Android Auto.

Skip User Programs, too; this does not apply to Books Finder.

Answering Questions About Consent

The last section asks questions about Consent. Check Actions on Google if you would like to extend your app to the Google Assistant. The next question asks about indexing your app for Google searches. Though not recommended, you can choose to opt-out of this. Confirm your acceptance of Content Guidelines and US export laws and click Save Draft.

Congratulations! Pricing & Distribution is complete and you’re ready for the final step. :]

Click App Content in the left panel and then click Start.

The first question asks about the target age group for your app. Select 13-15, 16-17 and 18 and over. This app is for every user group. Click Next at the bottom of the page.

The next step asks if you think your app may appeal to children under 13. Select No. Click Next.

Now, you’ll see a summary of your responses for this section. Review everything. If it’s correct, select Submit. If something goes wrong, select Discard and restart the questions.

At this point, you’ve entered all the minimum info required by Google for publishing an app. But it’s not public yet until you make it so. You’ll do that next.

Making Your App Public

Select App Releases again from the left menu.

Click Edit Release under Production Track epigraph:

Google play developer console edit release

Scroll down to the very bottom on the next screen and select Review ▸ Start Rollout to Production.

Wait for it to be available. It normally takes a few hours depending on the current load on Google’s servers and the kind of app you upload. Go grab some pizza. You deserve it :]

Finished? Congratulations on your first published Android app! :]

Where to Go From Here?

Google Play Developer Console has several other features, such as teammate invitations and Google Apps keys (necessary for apps that use Google Maps and similar services). You can read about these features and more on the Android Developer Page and the Google Play Developer Help Center.

You can also learn more about app bundles here: Android App Bundles: Getting Started.

Also, before you submit your app, your team should test it carefully to minimize the risk of possible bugs. Check out this article to learn more about this process: Use testing tracks to get invaluable early feedback from users.

I hope this Android app distribution tutorial helps you get your apps into the hands of real users! If you have any questions or comments, please join the forum discussion below.

Average Rating


Add a rating for this content

3 ratings

More like this