Requirements - Computer needed 🖥 - Google Developer account 🛠
Get a Developer account
Sign in with your Google Account on the Developer Console in order to publish mobile apps in Google play. 👉 Sign in here
Steps to follow
🔑 Create a Keystore File (optional)
Create a Keystore file
If you selected Bravo Keystore for your publishable APK, you can skip directly to the Google Play publication step.
Option 1 - Using Android Studio (recommended)
- Download and install Android Studio: https://developer.android.com/studio
- We will need to create an empty Android Studio project to access the keystore generator tool (if you happen to have any Android Studio project already created, open it and skip to step 6).
- Select "No Activity" and click "Next" button
- Click "Finish"
- Android Studio will create an empty project and you will see the screen below. Then, Android Studio will perform some tasks that will take some time (up to 5 minutes). Wait until nothing is displayed at the bottom part of the screen, where the message "Gradle: Build..." is shown in the screenshot below. Do not worry, you will not touch any of that ugly code :D #nocode
- Once Android Studio finishes its tasks, go to the top menu option "Build" and click "Generate Signed Bundle / APK":
- In the next screen, select "APK" and click "Next" button:
- Click "Create new..." button:
- You will need to enter all the information in this screen. First, click the right icon inside "Key store path" to select the name and path of your keystore file. For example, "yourname.keystore" and select Desktop in "Where". Click "Save" button
- Enter a Password for your keystore, an Alias, and a Password for your Alias. Make sure you keep these three values: Key store Password, Key Alias, and Key Store Alias. These three values, in addition to the generated Keystore file, will need to be uploaded in Bravo Studio.
- All set! You can click Cancel and close Android Studio now. Again, have the keystore file and these three values ready for uploading them to Bravo Studio: Key store Password, Key Alias, and Key Store Alias
Open Android Studio, and you will see the screen below. Click on "Start a new Android Studio project".
In the "Certificate" section, complete at least one of the fields. For example, "First and Last Name". Click "OK" button and a new keystore field will be generated with the filename you chose in the previous step ("yourname.keystore") in the location you selected ("Desktop")
Option 2: Using Terminal on MacOS (Advanced)
- You will need a Java Runtime Environment (Oracle or OpenJDK) and Android SDK for this tutorial. Open Terminal and run these two commands to check if you have both installed:
- If not installed, you will get this message or similar: "No Java runtime present, requesting install". If a popup window shows up, you can close it
- If installed you will see your installed version number
- If not installed, you will get "adb: command not found"
- If installed, you will see your version number
- If you don't have Java and Android SDK installed, it is recommended to download and install Android Studio, since it includes both Java OpenJDK and Android SDK: https://developer.android.com/studio
- We will need JAVA_HOME and ANDROID_HOME environment variables configured. If you come from Step 1, you might already have these variables set. Confirm it with echo command. If they don't exist or if you come from Step 2, you need to set environment variables. Consider if any of the paths contains a space, it must be quoted with backslashes. E.g. /Applications/Android Studio/Contents should be entered as /Applications/Android\ \Studio/Contents
- From Terminal, generate your keystore, which will be used to sign your app (you can choose different names for my-release-key.keystore and my-key-alias, but then make sure you use them for all the next steps):
- Keystore password
- Re-enter Keystore password
- First and last name
- Name of your organizational unit
- Name of your organization
- Name of your city or locality
- Name of your state or province
- Two-letter country code
- Confirm the info you entered is correct by entering "yes"
- Then you will need to enter a password for the my-key-alias (you can use the same as Keystore password)
- Re-enter password for the my-key-alias
- Check that a new file was created. Run in Terminal:
- All set! Keep the created file my-release-key.keystore in a safe place, and remember the passwords you introduced in the Step 4. You can now go to Bravo Studio and get your publishable apk.
Make sure you move it to the Applications folder. You don't need to open it after install it, since all the process will be done using Terminal. If any Android Studio window opens, you can close it.
Run in terminal:
export JAVA_HOME=/Applications/Android\ \Studio.app/Contents/jre/jdk/Contents/Home
To check that JAVA_HOME has been set correctly, run in terminal
and you should see the path /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
Run in terminal (replacing the value of <your_username>):
To check that ANDROID_HOME has been set correctly, run in Terminal
and you should see the path you just introduced /Users/<your_username>/Library/Android/sdk
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
It will prompt you to enter several information:
and you should see a file named my-release-key.keystore.
🖋 Sign your APK (if you have your own Keystore)
Sign your APK
This tutorial requires a keystore file. If you requested a Debug APK and you want to publish it, you need to sign it with your keystore.
- Sign the APK file you received in your email with your keystore, replacing <apk_name> with your apk name. Make sure your APK file is in the same directory as your my-release-key.keystore:
- Run in Terminal
- Use the zipalign tool included in the Android SDK. You need to replace <your_build_tools_version_from_step_7> with the version number from Step 7, <apk_name> with your apk file (including extension) and <my_release_name.apk> with the name you prefer for the file you will upload to Google Play
- A file <my_release_name.apk> will be created, with the apk signed and in release mode. This is the file you will publish on Google Play (you will need a Google Developer account or sign up for one here https://play.google.com/apps/publish/signup/)
jarsigner -verbose -tsa
-sigalg SHA256withRSA -digestalg SHA1 -keystore my-release-key.keystore
You will have to enter the password you used in previous step
You will see the build-tools version number you have installed. Keep it for next step (e.g, latest version as of today is 29.0.3)
$ANDROID_HOME/build-tools/<your_build_tools_version_from_step_7>/zipalign -v 4
🤖 Get the APK to install
Request for Android (install on device)
Request this app file (called the " APK") if you want to directly install the app on your device. It is not publishable on Google Play.
- On your app project page, go to the
Publishtab and select
- In the Install on device tab, click
Get Debug APKto request the app package. You will receive an email in 24 hours to download the file.
🤖 Get the APK to publish
Request for Android publication
Request this app file (called the "resigned APK") if you want to publish your app on Google Play.
- On your app project page, go to the
Publishtab and select
- Choose the Publication tab. For step 1, we recommend using the
- If you want to use your own Keystore, select
Upload my Keystoreand fill in the info. Our Android publication guide also takes you through how to create your own Keystore.
- For step 2, change the App Name if you'd like. We recommend keeping the default Version Name, Version Code, and Package Name unless you know how to configure them.
Get Publishable APKto request the app package. You will receive an email in 24 hours to download the file.
Keep in mind: future updates of the same app must use the same Keystore. If you want to develop the same app independently from Bravo in the future, you would need to use your own Keystore to be able to update the app.
Bravo generates the Package name by default. Feel free to change it
📱 Test app on your device (optional)
📱 Test app on your device (optional)
If you want to test your publishable app in your phone, you need to have the Android SDK on your computer and use adb command. It will not be installed if you try to open it directly from your device. In order to do this:
- If you are trying to install on an emulator, skip to step 6
- If you are trying to install on a real device, you need to enable Developer options:
- Enable USB Debugging inside Developer options screen.
- Connect your device to your computer using a USB cable.
- Accept any prompt that might appear to set up the connection correctly.
- Open a Terminal window, and go to the folder where adb is located: /Users/<your_username>/Library/Android/sdk/platform-tools.
1.1 - Open the Settings app.
1.2 - (Only on Android 8.0 or higher) Select System.
1.3 - Scroll to the bottom and select About phone.
1.4 - Scroll to the bottom and tap Build number 7 times.
1.5 - Return to the previous screen to find Developer options near the bottom.
1.6 - At the top of the Developer options screen, make sure toggle is on.
Then, run the installation command:
🚀 Google Play publication
🚀 Google Play Publication
- If you don't have a Google Developer account, go to https://play.google.com/apps/publish/signup/ and create one (you will need to pay a one-time 25 USD fee)
- Go to https://play.google.com/apps/publish/ and press "CREATE APPLICATION" button
- Select your preferred language, enter your app title and press CREATE
- Find "Set up your Store listing" (in the Set up your app dropdown). Here, you will need to enter some information and assets in the "PRODUCT DETAILS" and "GRAPHIC ASSETS" subsections:
- Title: - 50 characters
- Short description: - 80 characters
- Full description: - 4000 characters
- Hi-res icon: 512 x 512, 32-bit PNG
- Screenshots: JPEG or 24-bit PNG (no alpha). Min length for any side: 320px. Max length for any side: 3840px. At least 2 screenshots are required overall. Max 8 screenshots per type
- Feature Graphic: 1024 w x 500 h, JPG or 24-bit PNG (no alpha)
- Promo Graphic: 180 w x 120 h, JPG or 24-bit PNG (no alpha)
- Promo Video: YouTube video URL
- Go to "CATEGORIZATION" subsection below "GRAPHIC ASSETS". You will need to select an "APPLICATION TYPE" and "CATEGORY" for your app. You can also optionally include "TAGS" to describe the content and functionality of your app.
- Go to "Contact details" and enter an Email, which will be publicly displayed with your app. Click "SAVE DRAFT" button at the bottom right.
- On the Initial Setup section in the Dashboard, Fill-out all the steps. The First Step will be the "App access" subsection Click "All functionality is available without special access" Then click "SAVE" button and go back to "APP CONTENT" section
- You need to specify that the app does not contain ads, so click "START" button in the "Ads" subsection. Click on "No, my app does not contain ads" and click "SAVE" button. Then, go back to the "App content" section
- In the left side menu, go to Content rating section. Click "CONTINUE" button to start the Content Rating Questionnaire
- The last action in this section, click "START" button in the "Target audience and content" subsection. Select the age groups that you think your app is suitable for, and click "Next". Select whether or not your store listing could unintentionally appeal to children. Click "NEXT" and then "SAVE"
- In the left side menu, click on "App releases". Click "MANAGE" button in the "Production track" - "Production" subsection. Click "CREATE RELEASE" button.
- There will be a message saying "Let Google manage and protect your app signing key (recommended)". Click "
Manage app signing" button, and then "
OPT OUT" button in the popup window that will appear. This is to avoid Google Play automatic signing of your app since you already created your certificate and signed your app in the previous "Android APK Signing" tutorial.
- Upload the apk you signed in the previous tutorial (<my_release_name.apk>) by clicking "BROWSE FILES" button
- Optionally, you can go to the "What's new in this release?" subsection and enter release notes for each language. For example, if you want release notes for English and Spanish, you would enter:
- Click "SAVE" button at the bottom right
- Enter and confirm your email address. Then select one of the existing categories for your app.
- Answer all the Yes/No questions and click "SAVE QUESTIONNAIRE" button. Then, click "CALCULATE RATING" button. Google Play will generate a rating for your app based on your answers. Click "APPLY RATING" button
- On the left side menu, go to Pricing & distribution. Make sure "FREE" is selected, and then choose the countries you want your app to be available for. If you want it publicly worldwide, click on the top "Available" button to select all.
- Scroll down and in the "Consent" subsection, click the "Content guidelines" and "US export laws" checkboxes. Then, click "SAVE DRAFT" button
- In the left side menu, go to "App releases" and click "EDIT RELEASE" button. You already uploaded the APK in a previous step and also entered the release notes, so click "REVIEW" button at the bottom of the page.
- You will see a warning message that you can ignore (related to using your own certificate for signing). If you followed all the steps correctly, your left side menu should have a green checkmark in all the required sections. If any of those section appears with a greyed out mark, you need to revisit it and complete it. Otherwise, your app is ready to publish. Click the "START ROLLOUT TO PRODUCTION" button, confirm the popup, and that's it! Your app will be live soon. For new apps, normally it takes around 3 days to go live
- Let us know in the Bravo Community know when your app goes live! We will add it to our "Made with Bravo" section 💥
<en-US> Enter or paste your release notes for en-US here </en-US>
<es-ES> Introduce o pegue su información de release para es-ES aquí </es-ES>
Here is a list of the supported languages: https://support.google.com/googleplay/android-developer/table/4419860
✏️ Updating an app in Google Play
Updating an app in Google Play
- To update the store listing information:
- To upload a new version of the app:
On the left panel, go to Store presence > Main store listing to edit your app listing information. After you have finished editing, press Save. The store listing will update in an hour or so.
On the left panel, go to Production > click Create new release button.
Upload the new APK file, and follow the steps to submit the update.
That's it! 🎉