Android Publication: Complete Process

Android Publication: Complete Process

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)

  1. Download and install Android Studio: https://developer.android.com/studio
  2. 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).
  3. Open Android Studio, and you will see the screen below. Click on "Start a new Android Studio project".

    image
  4. Select "No Activity" and click "Next" button
  5. image
  6. Click "Finish"
  7. image
  8. 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
  9. image
  10. Once Android Studio finishes its tasks, go to the top menu option "Build" and click "Generate Signed Bundle / APK":
  11. image

  12. In the next screen, select "APK" and click "Next" button:
  13. image
  14. Click "Create new..." button:
  15. image
  16. 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
  17. image
  18. 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.
  19. 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")

    image
  20. 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

Option 2: Using Terminal on MacOS (Advanced)

  1. 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:
  2. java -version

    • 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

    adb version

    • If not installed, you will get "adb: command not found"
    • If installed, you will see your version number

  3. 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
  4. 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.

  5. 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
  6. 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

    echo $JAVA_HOME

    and you should see the path /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home

    Run in terminal (replacing the value of <your_username>):

    export ANDROID_HOME=/Users/<your_username>/Library/Android/sdk

    To check that ANDROID_HOME has been set correctly, run in Terminal

    echo $ANDROID_HOME

    and you should see the path you just introduced /Users/<your_username>/Library/Android/sdk

  7. 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):
  8. 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:

    • 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

  9. Check that a new file was created. Run in Terminal:
  10. ls and you should see a file named my-release-key.keystore.

  11. 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.

🖋 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.

  1. 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:
  2. jarsigner -verbose -tsa http://timestamp.digicert.com -sigalg SHA256withRSA -digestalg SHA1 -keystore my-release-key.keystore <apk_name> my-key-alias

    You will have to enter the password you used in previous step

  3. Run in Terminal
  4. ls $ANDROID_HOME/build-tools

    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)

  5. 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
  6. $ANDROID_HOME/build-tools/<your_build_tools_version_from_step_7>/zipalign -v 4 <apk_name> <my_release_name.apk>

  7. 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/)

🤖 Get the Debug 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.

  1. On your app project page, go to the Publish tab and select Android.
  2. image

  3. In the Install on device tab, click Get Debug APK to request the app package. You will receive an email in 24 hours to download the file.
  4. image
📲 Install the Debug APK in your device

Install Debug APK

It's necessary to enable APK installs on your Android device.

Find bellow instructions depending on your Android version and device brand. If you have trouble finding the option, most devices have a top search bar in Settings, where you can enter "unknown" or "external" to try to find a direct link to this section.

For Android 8 and above

Samsung devices:

  1. Go to your phone’s Settings.
  2. Go to Biometrics and security > Install unknown apps.
  3. Select the browser (e.g., Chrome or Firefox) you want to download the APK files from.
  4. Toggle Allow from this source on.

Xiaomi/Redmi/Pocophone devices:

  1. Go to your phone’s Settings.
  2. Go to Privacy protection > Special app access.
  3. Tap on Install unknown apps.
  4. Select the browser (e.g., Chrome or Firefox) you want to download the APK files from.
  5. Toggle Allow from this source on.

Other devices:

  1. Go to your phone’s Settings.
  2. Go to Security (or Security & privacy) > More settings.
  3. Tap on Install apps from external sources.
  4. Select the browser (e.g., Chrome, Firefox, Opera...) you want to download the APK files from.
  5. Toggle Allow app installs on.

For versions earlier than Android 8

  1. Go to your phone’s Settings.
  2. Tap Security.
  3. Under Device administration, toggle Unknown sources on.
🤖 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.

  1. On your app project page, go to the Publish tab and select Android.
  2. image

  3. Choose the Publication tab. For step 1, we recommend using the Bravo Keystore.
  4. 💡

    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.

    image

  5. If you want to use your own Keystore, select Upload my Keystore and fill in the info. Our Android publication guide also takes you through how to create your own Keystore.
  6. image

  7. 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.
  8. 👉

    Bravo generates the Package name by default. Feel free to change it

    image

  9. Click Get Publishable APK to request the app package. You will receive an email in 24 hours to download the file.

📱 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:

  1. If you are trying to install on an emulator, skip to step 6
  2. If you are trying to install on a real device, you need to enable Developer options:
  3. 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.

  4. Enable USB Debugging inside Developer options screen.
  5. Connect your device to your computer using a USB cable.
  6. Accept any prompt that might appear to set up the connection correctly.
  7. Open a Terminal window, and go to the folder where adb is located: /Users/<your_username>/Library/Android/sdk/platform-tools.
  8. Then, run the installation command:

    adb install <my_release_name.apk>

🚀 Google Play publication

🚀 Google Play Publication

  1. 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)
  2. Go to https://play.google.com/apps/publish/ and press "CREATE APPLICATION" button
  3. image
    image

  4. Select your preferred language, enter your app title and press CREATE
  5. 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:
    1. image

      Product details

      image

      Mandatory:

    2. Title: - 50 characters
    3. Short description: - 80 characters
    4. Full description: - 4000 characters
    5. Privacy policy URL
    6. Graphic assets

      image

      Mandatory:

    7. Hi-res icon: 512 x 512, 32-bit PNG
    8. 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
    9. Feature Graphic: 1024 w x 500 h, JPG or 24-bit PNG (no alpha)
    10. Optional:

    11. Promo Graphic: 180 w x 120 h, JPG or 24-bit PNG (no alpha)
    12. Promo Video: YouTube video URL
  6. 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.
  7. image

  8. Go to "Contact details" and enter an Email, which will be publicly displayed with your app. Click "SAVE DRAFT" button at the bottom right.
  9. In the left side menu, click on "App content". You need a privacy policy, so click "Start" in the "PRIVACY POLICY" subsection. Enter your privacy policy URL and click "SAVE" button.
  10. 👉

    *If you don't have one, you can use our official Privacy Policy URL: https://www.bravostudio.app/legal

    image

  11. 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
  12. image

  13. 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
  14. image

  15. In the left side menu, go to Content rating section. Click "CONTINUE" button to start the Content Rating Questionnaire
  16. image

  17. 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"
  18. image

  19. In the left side menu, click on "App releases". Click "MANAGE" button in the "Production track" - "Production" subsection. Click "CREATE RELEASE" button.
  20. 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.
  21. Upload the apk you signed in the previous tutorial (<my_release_name.apk>) by clicking "BROWSE FILES" button
  22. 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:
  23. <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>

  24. Click "SAVE" button at the bottom right
  25. Enter and confirm your email address. Then select one of the existing categories for your app.
  26. 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
  27. 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.
  28. Scroll down and in the "Consent" subsection, click the "Content guidelines" and "US export laws" checkboxes. Then, click "SAVE DRAFT" button
  29. 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.
  30. 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
  31. Let us know in the Bravo Community know when your app goes live! We will add it to our "Made with Bravo" section 💥

✏️ Updating an app in Google Play

Updating an app in Google Play

To update the store listing information:

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.

image

To upload a new version of the app:

  1. Get your Publishable APK from Bravo. Make sure you requested it using a higher Version Code than the one you have currently published (you can check the last number used in the Publish - Android - History section)
  2. Sign in with your Google Account on the Developer Console, and click on your app
  3. On the left panel, go to Production > click Create new release button.
  4. Upload the new Publishable APK file, and follow the steps to submit the update.

image

That's it! 🎉