Your web app is not the problem
HTML, CSS and JavaScript run inside Android System WebView, which Google ships and updates. Nothing in your Lovable, Bolt or Replit code is a native library.
Google Play requirement
Google Play requires apps that target Android 15 or higher to support devices that use 16 KB memory pages. Java and Kotlin code is unaffected; only native libraries (.so files) inside your bundle matter. In a WebViewGold app those come from bundled SDKs, so the fix is almost always to build from the current template and check the bundle once.
From $109 one-time per platform, or let our team do it all from $698.
Android has traditionally used 4 KB memory pages. Starting with Android 15, devices can use 16 KB pages instead, which Google says improves performance. Native libraries that were linked for 4 KB pages can fail to load or crash on such a device, so Google Play requires that apps targeting Android 15 (API level 35) or higher support 16 KB page sizes on 64-bit devices.
The timeline moved more than once, which is why forum posts disagree:
The date and wording that Play Console shows for your own app are what count. Check them before you plan a release.
The warning appears on the release pages and in the App bundle explorer, where Google shows whether a bundle supports 16 KB page sizes. Developers report wording along the lines of "Your app does not support 16 KB memory page sizes", sometimes followed by the path of the library that fails, such as base/lib/arm64-v8a/libexample.so. An existing app can also receive an Inbox message or email with the deadline that applies to it.
Before enforcement applies to your app it is a warning with a date. Once it applies, a non-compliant release cannot be rolled out, and the only way forward is a new bundle with aligned libraries.
HTML, CSS and JavaScript run inside Android System WebView, which Google ships and updates. Nothing in your Lovable, Bolt or Replit code is a native library.
Code written in Java or Kotlin does not depend on the page size. Google says apps without native code already support 16 KB devices.
Scanning, ads, analytics, crash reporting, payment or media SDKs sometimes ship native libraries. If one of them is an old version, the whole bundle fails the check.
A template downloaded long ago, libraries copied into a jniLibs folder, or an Android Gradle plugin older than 8.5.1, which does not align uncompressed libraries on 16 KB boundaries.

Great work! Never coded anything but managed to work with this. Easy and fast! Also with great help from the creators!
WebViewGold lists full 16 KB memory page size support among its Android features, and the Android changelog includes improved 16 KB support in version 16.8 (May 2026). Building from the current template with the SDK versions it ships is the intended path to a compliant bundle. Two situations still deserve a check: a project you configured with an older version, and any library you added yourself.
The Cloud Builder always builds with the current template, so rebuilding an older app there without changing your settings is the quickest fix. In Android Studio, follow the template update steps in the target API level guide, which apply here unchanged. Because a rebuild for the current target level also switches on Android 15 edge-to-edge behavior, check the edge-to-edge guide in the same pass.
You need the signed build you want to release and Android Studio.
In Play Console, open App bundle explorer, pick the version and read the 16 KB compatibility information. If it reports the bundle as compliant, you are done with this topic.
In Android Studio, build a signed release APK (Build menu, Generate Signed App Bundle or APK) and open it with Build, Analyze APK. If there is no lib folder or no .so files inside, the app has no native code and already supports 16 KB pages.
In APK Analyzer, the lib folder has an Alignment column that warns about files that are not 16 KB aligned. File names usually hint at the SDK that ships them.
Run the zipalign check from the Android SDK build tools on the APK, as shown below. The last line of the output should say "Verification successful".
Create a virtual device with an Android 15 or newer system image labeled 16 KB Page Size, confirm the page size with adb, install the app and open the features that rely on SDKs, such as the scanner, ads or payments.
Update the template or the SDK that ships the unaligned library, rebuild with a higher version code and upload. The App bundle explorer shows the result for the new version.
File names are examples. zipalign lives in the build-tools folder of your Android SDK, adb in platform-tools.
# 1. Are all native libraries 16 KB aligned? (look for "Verification successful")
zipalign -v -c -P 16 4 app-release.apk
# 2. List the native libraries inside the APK
unzip -l app-release.apk | grep "\.so$"
# 3. Which dependency brings them in? (run in the project folder)
./gradlew app:dependencies --configuration releaseRuntimeClasspath
# 4. On the 16 KB emulator: should print 16384
adb shell getconf PAGE_SIZE| Cause | Fix |
|---|---|
| Project built with an older WebViewGold version | Download the current template (updates are free), carry over Config.java, icons and your manifest edits, rebuild. Or rebuild in the Cloud Builder. |
| An SDK you added ships an old .so file | Update the SDK to the version its vendor marks as 16 KB compatible, or remove it if you do not need it. |
| Your own C or C++ code | Build with NDK r28 or newer, which aligns to 16 KB by default. With older NDKs, add the linker flags -Wl,-z,max-page-size=16384 and -Wl,-z,common-page-size=16384. |
| Android Gradle plugin older than 8.5.1 | Update the plugin with the Android Studio upgrade assistant. Packaging libraries compressed (useLegacyPackaging) is only a last resort, because it increases the installed size. |
| A prebuilt .so with no update available | Replace the library or the feature that depends on it. No build setting turns a library linked for 4 KB pages into a compliant one. |
Check once. If the bundle contains no native libraries, it already supports 16 KB pages. If it contains .so files from SDKs, they must be aligned; the current WebViewGold template is built for that with the SDKs it ships.
No. The requirement concerns native libraries in the Android bundle. HTML, CSS and JavaScript are not affected.
Existing installs keep working. The requirement controls which new releases you can publish. On a device with 16 KB pages, Android can run some unaligned apps in a compatibility mode that shows a warning, which is nothing to rely on.
The Play requirement is about 64-bit devices, so the 64-bit libraries in your bundle (the arm64-v8a and x86_64 folders) are the ones that must be aligned. Keep the rest up to date anyway.
The file name in the lib folder usually points to it, and the Gradle dependency tree shows which library pulls it in. If you cannot tell, send the file list together with your WebViewGold version to the support chat.
Same result, different amount of work on your side. All three come with the approval guarantee and 24/7 human support.
$109 per platform, one-time
The WebViewGold license: a finished Xcode or Android Studio project. Paste your URL, set name and icon, switch on features, build and submit. Free updates forever.
See plans on the main page$349 per license, one-time add-on
No Mac, no Xcode, no Android Studio: configure in the browser, we build both apps in the cloud and hand them to App Store Connect and the Play Console.
How the Cloud Builder works Try the free demo$698 per platform $798
Send us your URL and icon. Our team configures, builds and delivers your app within 72 hours, white-label, with source projects. Both platforms for $1,158.
Full Service details Powered byWinter Sale prices valid until December 31, 2026.
App Store & Google Play approval guarantee – or your money back within 14 days
Rather hand it over? Full Service: we configure, build and deliver within 72 hours, from $698 per platform. Questions? Chat with us 24/7.
Refunds are granted under the conditions listed in our FAQ: a non-content rejection by Apple and/or Google, claimed within 14 days after purchase.