A minimalist web tool to help Android developers check whether their APKs or native libraries are compatible with Android's 16KB memory page size requirement for Google Play compliance.
- File Upload: Upload APK files or ZIP archives containing native libraries
- Real-time Analysis: Uses the provided
script.shto perform comprehensive ELF alignment checks - Structured Results: Displays detailed analysis with library-by-library breakdown
- Modern UI: Clean, responsive interface with dark mode support
- Google Play Compliance: Specifically designed for the November 1st, 2025 deadline
- ✅ APK zip-alignment for 16KB boundaries (requires build-tools 35.0.0+)
- ✅ ELF segment alignment in native libraries (arm64-v8a and x86_64)
- ✅ Compliance with Android 16KB page size requirements
- ✅ Critical vs non-critical architecture identification
- Node.js 18+
- Bun, npm, or yarn
- Unix-like system (macOS, Linux) for running the shell script
- Clone the repository:
git clone <repository-url>
cd webtool-checking-16kb- Install dependencies:
bun install
# or
npm install
# or
yarn install- Make the script executable:
chmod +x public/script.sh- Start the development server:
bun dev
# or
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser
- Upload File: Drag and drop an APK or ZIP file, or click to browse
- Wait for Analysis: The tool will run the compatibility check script
- Review Results: See detailed analysis with pass/fail status for each library
- Take Action: Follow recommendations to fix any alignment issues
Uploads and analyzes a file for 16KB compatibility.
Request:
Content-Type: multipart/form-datafile: APK or ZIP file
Response:
{
"success": true,
"results": {
"status": "success|error",
"totalLibraries": 5,
"alignedLibraries": 4,
"unalignedLibraries": 1,
"criticalFailures": 0,
"libraries": [...],
"summary": "Analysis summary",
"complianceStatus": "PASSED|FAILED",
"recommendations": [...]
}
}- Frontend: Next.js 15 with React 19, TypeScript, Tailwind CSS
- Backend: Next.js API routes with file upload handling
- Analysis: Custom shell script (
script.sh) for ELF alignment checking - Icons: Lucide React for consistent iconography
- Styling: Tailwind CSS with custom dark mode support
src/
├── app/
│ ├── api/scan/route.ts # File upload and analysis API
│ ├── globals.css # Global styles and dark mode
│ ├── layout.tsx # Root layout with metadata
│ └── page.tsx # Main UI component
public/
└── script.sh # ELF alignment checker script
next: React frameworkreact: UI librarylucide-react: Icon libraryformidable: File upload handlingtailwindcss: Styling framework
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details