Publish Your First Android App on Google Play (Step by Step)
The final part: prepare your app, build a signed App Bundle, set up Play Console, pass closed testing and launch your first app on Google Play.
This is it, the final part! ๐ In Part 17: Debug Your Android App, you learned to find and fix crashes. Now your app is ready for real users. In this lesson, you will learn how to publish an Android app on Google Play, step by step. It is a long process the first time, but we will walk through it together.
Warning: Google Play rules change often. This guide is correct as of October 2026, but check the official Play Console Help before you submit.
Part A: Prepare Your App
1. Change the applicationId (very important!)
Our app still uses com.example.myfirstapp. Google Play does not accept package names that start with com.example. Also, every app on Google Play needs a unique ID, and you can never change it after publishing.
Open app/build.gradle.kts and change the applicationId:
android {
namespace = "com.example.myfirstapp"
defaultConfig {
applicationId = "com.shakilahmed.fruitbasket"
minSdk = 24
targetSdk = 36
versionCode = 1
versionName = "1.0"
}
}
Use your own name in reverse, like com.yourname.appname. You can leave the namespace as it is.
2. Understand versionCode and versionName
versionCodeis a whole number that only Google Play sees. Every new upload must have a bigger number than the last one: 1, 2, 3...versionNameis the version users see, like"1.0"or"1.1". You can write anything here.
3. Check the target API level
Google requires apps to target a recent Android version. As of October 2026, the official target API level page says that since August 31, 2026, new apps and app updates must target Android 16 (API level 36) or higher (phone apps; Wear OS, TV and some other device types have different rules). That is why we set targetSdk = 36 above. Also make sure compileSdk is at least 36.
4. Set the app name
Open app/src/main/res/values/strings.xml:
<resources>
<string name="app_name">Fruit Basket</string>
</resources>
This is the name shown under your app icon on the phone.
5. Make an app icon with Image Asset Studio
- In the Project panel, right-click the res folder.
- Choose New โ Image Asset and keep Launcher Icons (Adaptive and Legacy).
- In Foreground Layer, select your logo image (or Clip Art for a quick icon).
- In Background Layer, pick a color, then click Next โ Finish.
Android Studio creates all the icon sizes for you.
Part B: Build a Signed App Bundle
Google Play needs an Android App Bundle (a .aab file) for new apps. The bundle must be signed with a digital key. The key proves that updates really come from you.
Create a keystore and build the bundle
- Go to Build โ Generate Signed Bundle / APK.
- Choose Android App Bundle and click Next.
- Under Key store path, click Create new.
- Fill in the New Key Store window:
- Key store path: choose a safe folder, and name the file something like
fruitbasket-upload.jks. - Password: create a strong password and confirm it.
- Alias: a name for the key, like
upload. - Key password: another password (it can be the same as the keystore password).
- Validity (years): at least 25.
- Certificate: fill in your name and country (at least one field is required).
- Key store path: choose a safe folder, and name the file something like
- Click OK, then Next.
- Choose the release build variant and click Create.
When it finishes, Android Studio shows a small popup. Click locate to find your file. It is usually inside app/release/app-release.aab.
Warning: Your keystore file and passwords are like the keys to your house. Back them up in at least two safe places (for example, a password manager and a private cloud folder). Never upload the
.jksfile to a public GitHub repository.
What is Play App Signing?
New apps use Play App Signing. The key you just made is your upload key. Google keeps the real app signing key safely and signs the app users download. If you lose your upload key, you can request an upload key reset in Play Console. But that is slow and stressful, so keep your keystore safe from day one.
Part C: Create a Google Play Console Account
The registration fee
To publish on Google Play, you need a Google Play Console developer account. It costs a one-time fee of US$25. You pay it only once, not every year.
Tip for readers in Bangladesh ๐ง๐ฉ: The $25 fee must be paid with a card that works for international online payments. A normal local debit card often will not work. Many developers use a dual-currency card or a virtual USD card from their bank. Talk to your bank about enabling international transactions and your yearly USD limit. Google says prepaid cards are not accepted, so check with your bank before paying.
Personal or organization account?
You will choose an account type:
- Personal: for individuals, students and hobby developers. This is the right choice for most readers of this series.
- Organization: for registered companies. You need business details (and usually a D-U-N-S number).
Identity verification
Sign up at play.google.com/console. You must be at least 18. Google may ask for a government ID (like your NID or passport) in your legal name, and new personal accounts must verify an Android device using the Play Console mobile app. Use your name exactly as on your documents: if verification fails, the fee is not refunded.
Part D: Create Your App and Store Listing
Create the app
- In Play Console, click Create app.
- Enter the app name, default language, choose App (not Game) and Free.
- Accept the declarations and click Create app.
The store listing
This is your app's shop window. Google Play's current limits and sizes are:
- App name: up to 30 characters.
- Short description: up to 80 characters. One clear sentence, like "Browse fresh fruits and make your shopping list."
- Full description: up to 4,000 characters. Explain features in short paragraphs or a list.
- App icon: 512 ร 512 px, 32-bit PNG, max 1 MB.
- Feature graphic: 1024 ร 500 px, JPEG or 24-bit PNG (no transparency). This is the big banner at the top of your page.
- Screenshots: at least 2 are required. For better visibility, Google recommends at least 4 screenshots at 1080 px or more.
Tip: To take screenshots, run your app on the emulator and click the camera icon in the emulator toolbar. Use a free tool like Canva or Figma to make the feature graphic.
Part E: Complete the App Content Section
Google needs to know what your app does with data and who it is for. In Play Console, go to the App content page (in the Policy section of the menu) and complete each item:
- Privacy policy: You need a public web page (URL) that explains what data your app collects. Even a simple app needs one. You can host it for free on GitHub Pages, Google Sites or your own blog.
- Data safety: Say what user data your app collects and shares. Our fruit app saves a shopping list on the device only. If you add Firebase or ads later, update this form.
- Content rating: A questionnaire about violence, language and so on. For our fruit app, most answers are "No".
- Target audience: Choose age groups. Including children under 13 adds extra "Families" rules.
- Ads: Say whether your app shows ads. Ours does not.
Always answer honestly. Wrong answers can get your app removed.
Part F: Closed Testing (Required for New Personal Accounts)
This is the step that surprises many beginners.
As of October 2026, Google's testing requirements page says: personal developer accounts created after November 13, 2023 must run a closed test before they can publish to production. The test must have at least 12 testers who stay opted in continuously for at least 14 days. (Earlier, the number was 20 testers. Google lowered it to 12.)
Here is how it works:
- In Play Console, go to Test and release โ Testing โ Closed testing and create a track.
- Upload your
.aabfile and add release notes. - Add your testers by their Gmail addresses (an email list), or use a Google Group.
- Send them the opt-in link. Each tester must accept and install the app from Google Play.
- Keep at least 12 testers opted in for 14 days in a row. If someone leaves early, they don't count.
- Fix bugs your testers report and upload new versions (remember to increase
versionCode!). - After 14 days, go to the Dashboard and click Apply for production. Google asks a few questions about your test.
Tip: Ask friends, family and classmates to help. Many Bangladeshi Android Facebook groups also have "testing exchange" posts. Ask testers to really use the app, not just install it.
Part G: Release to Production
When Google gives you production access:
- Go to Test and release โ Production.
- Click Create new release.
- Upload your latest
.aab(or promote the build from closed testing). - Write release notes, like "First release: browse fruits, shopping list and dark mode."
- Choose countries (start with all, or only Bangladesh).
- Click Next, review any warnings, and send the release for review.
How long does review take?
Google reviews every new app. It often takes a few days, but some apps get an expanded review that can take up to 7 days or longer. Be patient and don't keep re-submitting. You will get an email when your app is live. ๐
Part H: After Launch
Updating your app
Every time you want to release a new version:
- Increase
versionCode(for example, from1to2). - Update
versionName(for example,"1.1"). - Build a new signed bundle with the same keystore.
- Upload it in Play Console as a new release.
Reading crash reports
Real users will find bugs you never saw. In Play Console, open Android vitals โ Crashes and ANRs (menu names can change slightly) to see stack traces, just like in Part 17. You can also see them in Android Studio with View โ Tool Windows โ App Quality Insights. And reply politely to your reviews!
Frequently Asked Questions
Do I have to pay $25 every year? No. The Google Play developer registration fee is a one-time payment of US$25.
Can I publish without 12 testers? If you have a personal account created after November 13, 2023, no. You must complete the closed test with at least 12 testers for 14 continuous days before applying for production access. Check the official page for any changes.
I lost my keystore. Is my app dead? Not if you use Play App Signing (it is the default for new apps). You can request an upload key reset in Play Console. Still, back up your keystore so this never happens.
Quick Recap
- Change
applicationIdfromcom.example...to something unique. It can never change later. - Increase
versionCodefor every upload. Target a recent API level (Android 16 / API 36 as of 2026). - Create an icon with New โ Image Asset and set the app name in
strings.xml. - Build with Build โ Generate Signed Bundle / APK. Back up your keystore and passwords!
- Pay the one-time US$25 fee and verify your identity in Play Console.
- Fill in the store listing, privacy policy, Data safety, content rating, target audience and ads.
- New personal accounts need a closed test with 12 testers for 14 days.
- After launch, update with a higher
versionCodeand watch crashes in Android vitals.
๐ You Finished the Series!
You did it! From "What is Android?" to a real app on Google Play. That is a huge achievement. Be proud of yourself. ๐
Here is everything you learned:
- What Is Android Development?
- Install Android Studio
- Your First Android App
- Kotlin Basics
- Your First Screen with Compose
- Buttons, Clicks and State
- Lists with LazyColumn
- Navigation Between Screens
- ViewModel
- Scaffold, Top App Bar and Bottom Navigation
- Material 3 Themes and Dark Mode
- Load Images with Coil
- Get Data with Retrofit
- Loading, Error and Retry Screens
- Room Database
- Save Settings with DataStore
- Debugging
- Publish on Google Play
What to Learn Next
You now know the basics. Here is a roadmap to grow from beginner to job-ready Android developer:
- Kotlin Coroutines and Flow (deeper): Learn
Flow,StateFlowand error handling. Start with my Kotlin Coroutines guide. - State management in Compose: State hoisting and
UiStateclasses. Read Jetpack Compose State Management. - Clean Architecture: Split your app into UI, domain and data layers. Read Building Clean Architecture in Android.
- Hilt dependency injection: Stop creating Retrofit and Room objects by hand.
- Testing: Unit tests for ViewModels and UI tests for Compose screens.
- Kotlin Multiplatform: Share Kotlin code between Android, iOS and more.
- Build a portfolio of 3 apps: The most important step. For example: a notes app with Room, a weather app with an API, and a habit tracker with DataStore. Put them on GitHub and Google Play. Employers love real apps.
Thank You! ๐
Thank you for learning with me through all 18 parts. If this series helped you, please share it with a friend, a classmate or your developer group. And when you publish your first app, I would love to see it. Keep building, keep learning, and never be afraid of a red error message. Happy coding! ๐