Android 16 KB APK/AAB Native Library Alignment Checker
Pricing
Pay per usage
Android 16 KB APK/AAB Native Library Alignment Checker
Find 16 KB ELF and APK ZIP alignment issues with exact native-library paths. Inspect your APK/AAB builds and export JSON, HTML and CSV reports. Includes a free fixed demo.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Yigit Ibze
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Find the native dependency or APK packaging detail that needs attention before your Android release. Submit your own APK or AAB and get exact library paths, ELF program-header evidence, separate packaging findings, and a readable report.
Useful for release engineers, mobile agencies, Flutter/React Native teams, and automated build pipelines that need a structured API result without installing Android native tools on the caller's machine.
Free beta: no developer fee. You pay only the normal Apify platform usage for your runs. Developer earnings are currently off.
Try the fixed demo
Run the prefilled input, or submit:
{"demoMode": true}
The demo inspects two bundled synthetic packages: one aligned and one broken.
It generates zero artifact-report events. Custom URLs and non-default settings
are rejected in demo mode. Apify infrastructure charges may still apply.
Inspect your build
{"demoMode": false,"artifactUrl": "https://your-download-host.example/release.apk?SIGNED-URL","artifactKind": "apk","artifactLabel": "release-1.0","packageScope": "standalone","expectedAbis": ["arm64-v8a"]}
Replace the illustrative URL with a direct public HTTPS or short-lived signed download URL. Maximum input size: 200 MiB. The URL is a secret input field and is never echoed to output or logs. Raw artifacts are deleted from temporary storage after processing. Reports remain subject to your Apify retention settings.
Use artifactKind: "auto" for layout detection. Use packageScope: "single_split"
or "unknown" when the APK does not establish standalone package coverage.
Expected ABIs are optional caller-supplied expectations.
Outputs
The dataset contains one complete report for your artifact, including:
- SHA-256, artifact byte count, tool/rule versions and observation time.
- Each native library's ABI, ELF class/machine and PT_LOAD segment values.
- Exact offending paths and zero-based program-header indices.
- Separate ELF and APK ZIP packaging statuses, scope and coverage limitations.
- Findings with code, severity, observed/expected evidence and source IDs.
Run storage also contains REPORT_JSON, REPORT_HTML and FINDINGS_CSV.
Download the readable HTML for review or use JSON to gate a CI workflow.
For example, ELF_LOAD_ALIGNMENT_TOO_SMALL identifies the offending segment;
APK_ZIP_ALIGNMENT identifies a stored library whose APK payload is misaligned.
What the checks mean
NO_FAILURES_FOUND means no failure in performed static checks.
CHECKS_FAILED means a supported check found a problem.
REVIEW_REQUIRED means coverage or evidence needs review.
ERROR means a technical failure prevented inspection.
NO_NATIVE_LIBRARIES_OBSERVED describes only the submitted package.
APK checks cover native ELF evidence and stored ZIP payload alignment.
Compressed libraries have no direct ZIP alignment check. AAB libraries are
inspected, but final generated-APK packaging is NOT_ASSESSED_AAB.
32-bit policies remain separate from the 64-bit 16 KB alignment check.
Potential writable-page overlap with GNU_RELRO is a review finding.
Apps are never executed or repaired. Runtime behavior, signing, malware, Android manifest semantics and Google Play acceptance are outside scope. Unknown/split coverage never establishes whole-app compatibility. Android Studio, readelf and zipalign are free local alternatives; this Actor provides hosted reports and API integration. See Android's official guidance.
Free beta pricing and failures
This beta has no developer fee for custom APK/AAB reports or the fixed demo. Apify's normal compute, storage and other platform usage charges still apply, including resources used by unsuccessful runs. Check the live Pricing tab and set a maximum run cost before starting. Findings and HTML/CSV mirrors add no developer fee.
Developer earnings are off while payout and paid pricing setup are deferred.
The stored billing fields describe report delivery; they do not mean that a paid
event is enabled. REPORT_JSON and DELIVERY_LEDGER hold the final delivery
state. Any future developer fee would be shown in the live Pricing tab before
it takes effect.
Archives are bounded to 800 MiB expanded, 20,000 entries and compression ratio 100. Up to 5,000 findings are returned with truncation disclosed. Stored and deflate compression are supported; encrypted archives, traversal, duplicates, symlinks and global ZIP64 central directories are refused.
Support
Provide a run ID, error/finding code, expected behavior and a minimal shareable reproduction. Do not post private signed URLs in public issues. Static checks should be followed by the platform's recommended runtime testing.