Enforcement live · May 2026

Google Play is rejecting apps that fail the 16 KB check.

Drop your APK or AAB and find out in under a minute whether it ships, or shows up in the Play Console as “Not compatible with 16 KB page size devices.” We scan native libraries, ELF p_align, zip layout, and the manifest in your browser, then hand you the exact fix list. Free, private, no upload.

How strict the scan is
How strict should we be?

Not sure? Use Studio-style—it matches what the Play Console flags. We only fail on serious native alignment issues; odd zip layout stays a warning.

Works with stacks teams ship every day

FlutterReact NativeUnityKotlinJava NDKXamarin

Fits the Android tools you already use

Flutter
React Native
Unity
Kotlin
Java NDK
Xamarin

How this matches Google Play

We focus on what Play highlights for native code—especially the 16 KB rule—and we read your app’s manifest (name, Android versions, permissions). Rules change, so always check dates and messages in Play Console.

  • 16 KB rule: Many newer phones use 16 KB memory “pages.” 64-bit .so libraries need to follow Google’s layout rules. Read Google’s 16 KB guide.
  • Target Android version: We show your targetSdkVersion and common manifest switches. Compare that with Play’s target-version rules.
  • Double-check in Android Studio: For another view of the same file on disk, open APK Analyzer.

Want more detail? Read our 16 KB guide.

How it works

File in → report out (usually under a minute)

Three steps. Nothing to install.

01

Drop your build

APK or AAB (up to 150 MB). Drag it in or click to choose. No account needed.

02

We scan it here

In your browser we unpack the app, read the manifest, list native libraries (.so), and run the 16 KB checks.

03

You get clear next steps

A short list of fixes, ready-to-paste Gradle bits where helpful, and links to official Android help.

We read your real build file. You get clear results—not a black-box score.

ALIGNMENT

Native libraries first

For 64-bit .so files we check Google’s 16 KB rule: how the library is built and how it sits inside your app file—the same kind of check Play cares about.

CLARITY

Manifest in plain language

We spell out app name, Android versions, sensitive permissions, and exported screens so anyone on the team can read it.

TRUST

Stays on your device

The file is opened only in this browser tab. Nothing is sent to our servers for the scan—handy for NDAs and private builds.

MOTIVATION

Size in one chart

See code, native code, images, and the rest in one view so you know what makes the download big.

FRICTION

Framework hints

We spot common tools (Flutter, Unity, Firebase, ads SDKs, and more) from paths so you know where to look.

URGENCY

Short fix list

Ordered steps with copy-paste Gradle snippets and official help links—based on this upload, not generic filler.

How the scan works →

From a fuzzy warning to a clear to-do list.

Each item links to a real change in your project (Gradle or manifest) and official Android help—not filler text.

Before: “Some native libraries may not meet Google Play requirements.”

After: “Bump minSdk to 35, set android:extractNativeLibs="false", rebuild lib/arm64-v8a/libfoo.so with NDK r28+ so PT_LOAD segments use p_align ≥ 0x4000.”

You get wording and snippets you can paste into a ticket or chat with your team.

FAQ

Do you upload my APK or AAB to your servers?

No. The file is read only in your browser on your device. We don’t store your package on our servers for the scan. Results live in this tab’s storage until you clear site data or the session ends.

Why does the results page say you can’t show my scan?

Each result is tied to this browser tab. If you open the link in another tab or browser, use a private window, or clear site data, the saved scan is gone. Run a new scan from the home page, or use Export on a results page you still have open to keep a JSON/HTML copy.

Which files can I scan?

Only Android APK (.apk) or App Bundle (.aab) files—up to 150 MB. If the file is corrupted, password-protected, or not a real Android package, you’ll get a readable error instead of a fake pass.

The upload fails, freezes, or says it couldn’t save—what should I try?

Check file size (under 150 MB), a supported extension, and a stable connection. If saving fails, your browser storage may be full or blocked—free a little space, allow site data for this site, or try another browser. You can cancel a long scan with Cancel and try again.

What’s the difference between Strict and Studio-style?

Strict fails the scan when native alignment or zip layout looks wrong. Studio-style is closer to Android Studio: only serious native alignment problems fail the overall check; odd zip layout usually shows as warnings. Pick Strict when you want the harshest pre-flight check.

My scan failed—will Google Play reject my app?

We highlight the same class of issues Play cares about (especially 16 KB alignment for 64-bit native code), but we don’t work for Google. Always treat Play Console messages and deadlines as the final word before you release.

What’s a “zip warning” versus a native library failure?

A native failure usually means a 64-bit .so file isn’t built or aligned for Google’s 16 KB bar. A zip warning means the library may look aligned, but how it’s packed inside the APK/AAB (compression or offsets) still looks wrong—worth fixing before release even if Studio-style mode still passes.

Why are some libraries marked skipped for the 16 KB rule?

32-bit ABIs like armeabi-v7a and x86 follow different rules for this check, so they’re often marked skipped—not ignored for security, but not the same 16 KB bar as 64-bit arm64-v8a and x86_64.

Is this the same as Android Studio or the Play Console?

We aim for the same practical checks you’d see around 16 KB native alignment and manifest details, similar to APK Analyzer in Studio. Play Console is still the official place for policy, rollout, and rejection reasons—use us as a fast local preview, not a replacement.

How do I share the report with my team?

On the results page use Export report to download JSON (full data), CSV, or HTML, or print to PDF. The shareable link alone won’t work without the same tab’s saved data—send an export file if someone else needs to read it.

Will private browsing or clearing cookies remove my results?

Yes. Private or incognito windows, “clear cookies and site data,” or closing the tab can wipe stored scans. Export while you still have the results open if you need a lasting copy.

Does this work with Flutter, React Native, or Unity builds?

Yes, as long as you upload a normal APK or AAB produced by your toolchain. We also show light framework hints from paths inside the package—handy for routing fixes to the right team.

Can I run this in CI or call an API?

Not yet—the checker runs in the browser only today. A pipeline-friendly CLI and REST API for GitHub Actions, Bitrise, and Fastlane are on the roadmap. Drop your email below and we’ll reach out the moment early access opens.

Get notified when CI/API early access opens

One email when CI/API early access opens. No newsletter, no spam.