To turn a PWA into an APK, either zip its static build and bundle it offline in an HTML 2 APK builder, or convert its live URL with a website-to-app builder. Both produce a signed APK and, with Pro, an AAB for Google Play. Unlike a Trusted Web Activity, no Digital Asset Links file or Android tooling is needed.
- PWAs whose users ask "is there an app?"
- PWAs that need a Play Store listing
- Teams that want native push instead of Web Push
- Apps that must open with no connection on first launch
Two routes, chosen by where your content lives
| Bundle the build (ZIP) | Wrap the live URL | |
|---|---|---|
| App | HTML & ZIP to APK Builder | Website to App |
| Works on first launch offline | Yes | No — needs a first load |
| Content updates | New build | Instant — it is your site |
| Server-side features (SSR, auth cookies) | Static only | Everything your site does |
| Best for | Tools, games, offline-first apps | Shops, portals, content sites |
What happens to the service worker
In a bundled app the files already live on the phone, so the service worker's offline cache is redundant. It is harmless to leave registered, but if your build uses Workbox with a hashed precache manifest, an old worker can serve stale files after you ship an update. The safest setting for an APK build is to skip registration when running inside the app:
const inApp = location.hostname === 'appassets.androidplatform.net';
if ('serviceWorker' in navigator && !inApp) {
navigator.serviceWorker.register('/sw.js');
}Your web manifest, mapped to the app
The APK does not read manifest.webmanifest; you enter the same values in the builder. name becomes the app name, the 512px icon becomes the launcher icon, theme_color becomes the status-bar colour, and background_color is a good splash colour (Pro). display: standalone is how every built app behaves anyway — no address bar.
Why not a Trusted Web Activity?
A TWA (Bubblewrap, PWABuilder) opens your PWA in Chrome itself, full-screen. It is a fine option, but it needs a hosted assetlinks.json on your domain, falls back to a browser bar if verification fails, depends on the user having Chrome, and cannot run offline from first launch. A WebView-based APK carries its own content and adds native splash, tabs and push. Comparison: PWA vs APK.
PWA to APK — questions
Is a PWA to APK conversion allowed on Google Play?
Yes, provided the app offers real functionality — Play's minimum-functionality rule. A useful PWA with push notifications or offline content qualifies.
Will Web Push from my PWA work in the APK?
No. The Notification API and Web Push are not available in Android WebView. Use the builder's native push notifications (Pro, via OneSignal) instead.
Do I need Digital Asset Links?
No. That file is only for Trusted Web Activities, which verify the domain before opening Chrome. A WebView APK needs no verification.
Can the APK still use my service worker?
It can, but in a bundled build the files are already local, so the cache adds nothing and can serve stale files after an update. Skipping registration inside the app is safer.