html2apk Get the app

Inside an APK: every folder explained

An APK is a ZIP archive with a fixed layout. Knowing what is in it explains app size, signing, updates — and where your HTML goes.

Updated 12 October 2026By HTML2APK Editorial Team
Short answer

An APK is a ZIP archive containing AndroidManifest.xml (the app's identity and permissions), classes.dex (compiled code), resources.arsc and res/ (compiled resources and icons), assets/ (raw files — where an HTML app's web files live), optional lib/ native libraries and signing data. Android verifies the signature before installing it.

The layout

myapp.apk ├── AndroidManifest.xml binary XML: package name, version, permissions, activities ├── classes.dex the app shell's compiled Kotlin/Java (DEX bytecode) ├── classes2.dex … more code when one DEX file is not enough ├── resources.arsc compiled resource table (strings, colours, styles) ├── res/ icons at each density, layouts, drawables ├── assets/ raw files, untouched by the build — your HTML lives here ├── lib/arm64-v8a/ … native .so libraries (if any) ├── kotlin/, META-INF/ metadata; v1 signature files for old Android versions └── (APK Signing Block) v2/v3 signatures — not a file, stored inside the ZIP structure

What each part does

PartContainsWhy it matters for an HTML app
AndroidManifest.xmlPackage name, version code and name, min/target SDK, permissions, launcher activityPackage name + version decide whether an update installs; permissions are what users and Play see
classes.dexCompiled app codeThe WebView shell — identical across apps from the same builder
res/Launcher icons (mdpi → xxxhdpi), adaptive icon layers, splash drawablesYour icon, resized for every screen density
resources.arscLookup table for all resourcesHolds your app name and colours
assets/Arbitrary files read at runtimeYour index.html, CSS, JS, images — served to the WebView
lib/Native code per CPU architectureUsually absent or small in WebView apps
Signing block / META-INFCertificates and digestsProves who built it; must match for updates

Where your HTML lives and how it loads

In apps built with HTML2APK, your files sit under assets/ and the WebView requests them from https://appassets.androidplatform.net/web/. Android's WebViewAssetLoader intercepts those requests and answers from the APK. Because the origin is https, modern web features (modules, fetch of local JSON, storage) behave as on a real website — unlike the old file:// approach, which blocks many of them.

Look inside yourself

unzip -l myapp.apk # list everything unzip myapp.apk 'assets/*' -d out # extract web files # with the Android SDK build tools: aapt2 dump badging myapp.apk # package, version, SDKs, permissions apksigner verify --print-certs myapp.apk

APK vs AAB in one line

An AAB (Android App Bundle) holds the same parts unsplit; Google Play turns it into optimised APKs per device. You upload AABs to Play and install APKs on phones.

Frequently asked questions

Is an APK just a ZIP file?

Structurally yes — it uses the ZIP format, so any unzip tool can open it. It also carries a signing block that Android checks; editing files inside breaks the signature.

Can I edit the HTML inside an APK?

You can extract it, but changing files invalidates the signature, so the APK will not install until re-signed — and updates require your original key. Rebuild instead.

H2

HTML2APK Editorial Team
Written and checked against the app our builder actually produces. Found an error? Tell us.

Turn your HTML into an APK today

Install the free builder on your Android phone, add your HTML file, ZIP or website, and install a signed APK a few minutes later. No watermark, no card.