Wrap any URL into a native Android APK project — ready to build in Android Studio.
Click or drag & drop your icon
PNG or JPG recommended · 1024×1024px ideal
Your icon will be embedded as a ic_launcher.png in the project.
Android Studio will auto-generate all required density variants (mdpi → xxxhdpi) when you use Image Asset Studio.
Click Download ZIP above and extract it to a new folder on your computer. Keep the generated folder structure exactly as exported. The extracted top-level folder is your Android project root.
Install Android Studio together with the Android SDK, platform tools, and an emulator if you want to test on desktop. This is the easiest way to open, sync, build, sign, and debug the generated project.
In Android Studio, choose File → Open and select the extracted project folder. Wait for Gradle sync to finish. If Android Studio asks to install a missing SDK or build tools version, allow it.
In the Project panel, right-click app/src/main/res → New → Image Asset. Use the icon you prepared. Android Studio will generate the launcher icon files for all required densities automatically.
To create an installable APK, use either Build → Build Bundle(s) / APK(s) → Build APK(s) for a quick test build, or Build → Generate Signed Bundle / APK and choose APK for a signed release APK. Use the generated APK to sideload and test on Android devices. For Google Play submission, use an .aab file instead of APK.
Run the app on a connected device or emulator. Confirm that the site loads correctly, navigation works, permissions behave as expected, and the app icon, splash color, and orientation match your intended release.
Open Google Play Console, register as a developer, and complete all account setup requirements. Keep your developer profile information consistent with your business, brand, website, and privacy policy details.
Generate the signed .aab directly in Android Studio using Build → Generate Signed Bundle / APK. Keep the .jks file, alias, and passwords safely backed up because every future update must be signed consistently.
Select Create app, enter your app name and default language, identify whether it is an app or game, and complete the initial declarations. This creates the Play Console shell where all release and policy work happens.
Add your descriptions, screenshots, high-resolution icon, feature graphic, contact details, privacy policy URL, target audience details, ads declaration, and data safety responses. Most first-time submissions get delayed because one of these sections is incomplete or inconsistent.
Upload the signed .aab manually in Production → Create new release.
Submit the release for review, monitor policy warnings, and roll out carefully. For every update after that, increment the version code, rebuild a signed AAB, and publish a new release. If your app is connected to GitHub, this update cycle becomes much easier to manage.
Google Play Developer registration is a one-time payment. You do not pay this again for normal future app updates under the same developer account.
For future updates:
versionCode for each releaseImportant: Keep the same package name and signing setup so the new release is accepted as an update to the existing app.
To publish an app on Google Play for the first time, you need a Google Play Developer account. Google charges a one-time registration fee for the developer account. This is not a yearly renewal fee. You pay this once when creating the Play Console developer account, and after the account is approved, you can publish apps under that account.
Typical first-time process:
.aab file for release. APK can be used for testing, but Play Store production release normally uses AAB.Besides the one-time registration fee, there may also be normal business costs depending on your app, such as testing devices, artwork, privacy policy hosting, backend hosting, or in-app billing setup, but Google Play developer registration itself is generally a one-time payment.
After your app is already published, future updates do not require creating a new Play Console account and do not require another first-time developer registration payment. You keep using the same developer account and the same app entry in Play Console.
General update flow:
versionCode and usually versionName..aab to the same existing app in Google Play Console.When you upload a new release to the same Play Store app, users do not need to manually uninstall the old version. Google Play treats it as an update to the existing application, as long as the package name remains the same and the app is signed correctly with the same signing identity or the correct Play App Signing setup.
The .jks signing file is extremely important for continuity.
For your first release, you create your keystore in Android Studio and sign your release build with it.
For future updates, your builds must stay compatible with that same signing setup.
The recommended approach is:
.jks keystore once in Android Studio using Build → Generate Signed Bundle / APK → Create new.If the signing identity changes incorrectly, the new build may not be accepted as an update for the existing Play Store app.