If you want to publish your app on Google Play, you need to know how to generate signed AAB Android Studio files, because Play Console only accepts new apps as signed Android App Bundles. The good news is that the process is quick once you have done it once. In this guide, we will walk through every step in plain language so even beginners can follow along.
Whether you built the app yourself, bought a ready-made app script or hired a developer, this tutorial will help you get your app from Android Studio into Play Console without confusion.
What Is a Signed AAB and Why Do You Need It?
An AAB (Android App Bundle) is the publishing format Google Play uses for apps. Instead of uploading one big APK, you upload a bundle, and Google Play creates optimised APKs for each user's device. This often means smaller downloads for your users.
A signed bundle includes a digital signature made with your private key. This signature tells Google Play that the app really comes from you. Every future update must be signed with the same upload key, which is why keeping that key safe is so important.
AAB vs APK in Simple Terms
- APK: a file you can install directly on a phone, useful for testing or sharing.
- AAB: a publishing file for Google Play, which turns it into device-specific APKs.
Before You Start: A Quick Checklist
Taking a few minutes to prepare will save you from common upload errors later. Before you generate signed AAB Android Studio builds, check the following:
- Your app runs without crashes in release-like conditions on a real device or emulator.
- The package name (applicationId) is final. You cannot change it after publishing on Google Play.
- The versionCode is higher than any version you uploaded before.
- The versionName (for example, 1.0.0) is set to what you want users to see.
- You have updated your Android Studio and Gradle to recent stable versions if possible.
You can find the versionCode and versionName in your module-level build.gradle or build.gradle.kts file, inside the defaultConfig block.
How to Generate Signed AAB in Android Studio: Step by Step
Now let us get to the main part. Follow these steps in order.
Step 1: Open the Generate Signed Bundle Wizard
- Open your project in Android Studio.
- From the top menu, click Build.
- Select Generate Signed Bundle / APK...
- Choose Android App Bundle and click Next.
Step 2: Create a New Keystore (First Time Only)
If this is your first release, you need to create a keystore. A keystore is a secure file that holds your signing key.
- Under the Key store path field, click Create new...
- Choose a safe location and file name, such as myapp-upload.jks.
- Enter a strong keystore password and confirm it.
- Fill in the key details: an alias (for example, upload), a key password and a validity period. A long validity, such as 25 years or more, is recommended.
- Add at least one certificate field, such as your name or organisation.
- Click OK.
If you already have a keystore from an earlier release, simply click Choose existing... and enter your passwords and alias instead.
Step 3: Choose the Release Build Variant
- Click Next after the key details are filled in.
- Select the release build variant. Do not choose debug, because Play Console will reject it.
- Pick a destination folder for the output file.
- Click Create (or Finish, depending on your version).
Step 4: Find Your AAB File
Android Studio will build your bundle and show a notification when it is done. Click locate in the notification, or look in a path similar to app/release/app-release.aab. That file is what you upload to Play Console.
Uploading Your AAB to Google Play Console
Once you have the file, uploading it is straightforward:
- Sign in to Google Play Console and select your app (or create a new one).
- Go to Testing or Production and create a new release.
- If asked, accept Play App Signing. This lets Google keep your app signing key safe while you use your upload key.
- Upload the app-release.aab file.
- Add release notes, review the details and roll out the release.
Starting with an internal or closed testing track is a smart move. It lets you catch problems before real users see them.
Keep Your Keystore Safe: Do Not Skip This
Many beginners learn this the hard way. Your keystore and its passwords are the keys to your app. If someone else gets them, they could sign updates that look like yours. If you lose them, updating your app becomes difficult.
- Back up the .jks file in at least two secure places, such as an encrypted drive and secure cloud storage.
- Store the passwords and alias in a password manager.
- Never commit the keystore or passwords to a public Git repository.
- Write down which keystore belongs to which app if you manage several apps.
With Play App Signing enabled, Google can help reset a lost upload key, but it is still much easier to simply never lose it.
Common Errors and How to Fix Them
"Version code has already been used"
Increase the versionCode in your build.gradle file, sync the project and build the bundle again.
"Your bundle is signed in debug mode"
You selected the debug variant. Repeat the wizard and choose release.
"Wrong signing key"
You signed with a different keystore than the one registered in Play Console. Find the original upload keystore, or request an upload key reset through Play Console if it is truly lost.
Wrong password or alias
Double-check capital letters and spaces. Keystore passwords are case-sensitive.
Tip for Flutter Apps
If your app is built with Flutter, you can open the android folder in Android Studio, or configure signing in a key.properties file and run flutter build appbundle in the terminal. The keystore rules above still apply.
Need Help Publishing Your App?
Learning to generate signed AAB Android Studio bundles is a valuable skill, but some business owners would rather focus on running their business than dealing with keystores and Gradle errors. That is completely fine.
Our team offers Android App Development, including publishing and optimising apps on Google Play. If you want one app for both Android and iOS, take a look at our Flutter App Development service. You can also browse our ready-made scripts and apps if you want to launch faster with a proven base.
Ready to get your app live on Google Play without the stress? Get a free quote today and let us help you build, sign and publish your app the right way.
Frequently asked questions
What is a signed AAB file?
A signed AAB (Android App Bundle) is your app packaged in the format Google Play requires, signed with your private upload key. The signature proves the update comes from you.
What happens if I lose my keystore file?
If you use Play App Signing, you can usually ask Google to reset your upload key through Play Console support. Without Play App Signing, losing the key can mean you cannot update the app, so always keep backups.
Why does Play Console say my version code has already been used?
Every upload needs a higher versionCode than the previous one. Increase the versionCode in your app's build.gradle file, rebuild the bundle and upload again.
Should I choose debug or release when building the AAB?
Always choose release for Play Console uploads. Debug builds are meant for testing and will be rejected by Google Play.
Can I generate a signed AAB for a Flutter app in Android Studio?
Yes. You can open the android folder of your Flutter project in Android Studio, or set up signing in key.properties and run flutter build appbundle from the terminal.


