TL;DR: Quick Fixes
If you are seeing the "There was a problem parsing the package" error, try these three steps first:
- Re-download the APK: The file is likely corrupted or incomplete.
- Enable Unknown Sources: Go to Settings > Security (or Apps) > Special App Access > Install Unknown Apps and toggle it for your browser or file manager.
- Check Android Version: Ensure the APK's minimum SDK requirement matches your device's Android version.
Common Root Causes
The Android Package Installer throws a "Parse Error" when it cannot read the AndroidManifest.xml file or verify the integrity of the APK's ZIP structure. This usually happens for a few specific reasons:
- Corrupted Download: The APK file was interrupted during download, leading to a partial file.
- Compatibility Issues: The app was compiled for a newer version of Android than the one running on your device.
- Disabled Permissions: The system is blocking the installation of apps from sources other than the Google Play Store.
- Modified APKs: If you edited the APK (e.g., changing the manifest or resources) and didn't re-sign it correctly, the parser will reject it.
- Security Software: Some antivirus apps or "Cleaner" apps interfere with the installation process.
Fixing the APK Parse Error
Method 1: Verify APK Integrity and Re-download
Most parse errors are caused by a simple corruption during the file transfer. If you downloaded the APK via a browser, try downloading it again using a stable Wi-Fi connection. If you transferred it from a PC, use adb push instead of MTP, as MTP can sometimes mangle files during transfer.
# Use ADB for a more reliable transfer
adb push your-app.apk /sdcard/Download/
Method 2: Check for SDK Version Mismatch (Developer Focus)
If you are a developer or trying to install a specific build, check the minSdkVersion. If the APK was built with a minSdkVersion higher than your device's API level, Android will immediately trigger the parse error.
You can verify the APK's requirements using the aapt tool included in the Android SDK Build Tools:
aapt dump badging your-app.apk | grep sdkVersion
Look for sdkVersion: '29' (Android 10) or similar. If your device is running Android 9 (API 28), it will not install.
Method 3: Enable Installation from Unknown Sources
Modern Android versions (8.0 Oreo and later) handle this on a per-app basis. If you are trying to open an APK from Chrome or a File Manager, you must grant that specific app permission to install packages.
- Open Settings.
- Navigate to Apps & Notifications > Advanced > Special app access.
- Select Install unknown apps.
- Find the app you are using to open the APK (e.g., Chrome, Solid Explorer, Gmail).
- Toggle Allow from this source to ON.
Method 4: Clean the Package Installer Cache
Sometimes the system's internal Package Installer app gets stuck with cached data from a previous failed installation attempt.
- Go to Settings > Apps.
- Tap the three dots (menu) and select Show system.
- Find Package Installer.
- Select Storage & cache.
- Tap Clear Cache and then Clear Storage.
Method 5: Check for Manifest Errors
If you have modified the APK or are building it yourself, ensure the AndroidManifest.xml is valid. A common mistake is having a syntax error in the XML or a missing attribute that the parser requires. Ensure your application tag is properly closed and that all activity names are correctly resolved.
Verification: How to Confirm the Fix
Once you have applied the fixes, follow these steps to verify:
- Initiate Installation: Tap the APK again. Instead of the "There was a problem parsing the package" popup, you should see a screen asking "Do you want to install this application?"
- Check the Progress Bar: If the installation starts but fails halfway, the issue is no longer a "Parse Error" but likely a signature conflict or storage issue.
- Successful Launch: The final confirmation is the "App installed" message and the ability to open the application.
If you still encounter issues after these steps, the APK file itself might be fundamentally broken or encrypted by a DRM service that is not compatible with sideloading.

