Fix a package parse error

A package parse error is Android’s way of saying it cannot read the APK file you are trying to install.

Fix a package parse error
Android App Safety Guide , CC BY 4.0 via Wikimedia Commons

A package parse error is Android’s way of saying it cannot read the APK file you are trying to install. The message usually appears as “There was a problem parsing the package” and can have several distinct causes. The three most common are an incomplete or corrupted file, an Android version mismatch, and a signature conflict. The error alone rarely tells you which cause applies, so you need a decision rule and a checklist.


What “parse error” actually means

Android parses an APK by reading its manifest, signature, and resource table before it installs anything. A parse error means the OS could not complete that read. It is not a security verdict.

  1. The file is incomplete or corrupted during transfer.
  2. The APK was built for a different Android version than your device (too new or too old).
  3. The package format is invalid, or the signature does not match the app already on the device.

Confirm the file is complete

A truncated download is the most common cause of a parse error. The file may look like an APK but be missing bytes. This is a transfer problem, not a malware problem.

Check the file size against the value shown on the publisher’s official release channel or store page. If the size differs by more than a few megabytes, obtain the file again. A more reliable check is the SHA-256 hash:

  1. Find the official hash for the file. Publishers often publish it on their site, in release notes, or on the store listing.
  2. Compute the SHA-256 of the file you have. On Windows: certutil -hashfile app.apk SHA256. On macOS/Linux: shasum -a 256 app.apk.
  3. Compare the two values. If they match, the download is complete and unchanged.

A checksum alone does not prove the file is safe. It only proves the file matches what the publisher published. If the publisher’s site is compromised, a matching checksum means the file matches the compromised release. Always start from the publisher’s official release channel (Google Play Help, 2024).


Check the Android version

The Android version on your device sets a floor for which APKs can install. If the APK’s minSdkVersion is higher than the OS version, the package manager will refuse to parse it. Find your Android version under Settings → About phone → Android version. If the app’s listing states a minimum Android version, compare it with your device’s version before you obtain the file. An APK built for Android 13 will not install on a device running Android 10.

The target SDK also matters. If an APK targets an Android version newer than your OS, the system may still install it, but the app might request permissions that your OS does not fully enforce, or the app may behave unexpectedly. Android Developers (2024) state that apps targeting newer API levels are subject to newer platform behaviors, so a very old OS may reject an APK built for a much newer Android release. If you see “There was a problem parsing the package,” check the app’s minimum SDK requirement against your device’s Android version first.

Android 14 (API level 34) and later enforce a minimum target SDK for installs, so an APK built for an older Android release may fail to install on a newer device. Google’s documentation states that new apps must target a recent API level (Android Developers, 2024). If the file was built for a much older Android release, the OS may reject it.


Understand the APK format

An APK (Android Package Kit) is the file format Android uses to install an app. It contains the compiled code, resources, and the AndroidManifest.xml that declares permissions and components. The Android system verifies the APK’s signature before installation. A parse error means the system could not read the package at all, usually because the file is incomplete, corrupted, or not a valid APK.

Some download pages serve a renamed ZIP, a compressed archive, or an HTML error page. Check the file extension and, if possible, open it with a ZIP tool; an APK is a ZIP archive that must contain an AndroidManifest.xml and classes.dex.

An app bundle (.aab) cannot be installed directly on a phone. It is the publishing format that Google Play uses to generate per-device APKs. If you have an .aab file, you must convert it to an APK with a tool such as bundletool, or install it through the Play Console’s internal testing track. Do not rename the file; renaming does not change the format.


Identify a signature mismatch

If an app with the same package name is already installed and signed with a different key, the new APK will fail to install. This is the most common cause of the “App not installed” error when updating a sideloaded app. The “app not installed” message is a different failure from a parse error and is usually caused by signature mismatch or target SDK issues, not file corruption.

Use apksigner from the Android SDK to check the signer certificate. Run apksigner verify –print-certs app.apk; a valid signature shows “v2” or “v3” scheme lines. Compare the signer against the publisher’s published key or previous releases of the same app.


Follow the full checklist

  1. Check the file extension and size. Open the file manager and confirm the extension is .apk and the file size is not suspiciously small. A 0-byte or a few-kilobyte file is almost certainly incomplete. Obtain the file again from the publisher’s official release channel if the file seems truncated.
  2. Check the Android version. Open Settings > About phone (or About device) and note the Android version. Compare that to the app’s stated minimum OS. If the app requires Android 8 and the device runs Android 7, the package will not parse.
  3. Check the package format. If the file ends in .xapk, .apks, or .zip, it is not a standard APK. Convert it with a trusted tool or obtain the correct APK from the publisher’s channel.
  4. Verify the signature. Use apksigner to check the signer certificate and compare it against the publisher’s published key.
  5. Confirm target SDK. If the APK targets an Android release older than your device supports, the system may refuse to install it. Check the manifest or use aapt dump badging.
  6. Verify file integrity. If the APK is truncated or corrupted, you will get a parse error during install. Compare the file size against the publisher’s published value and, if possible, verify a SHA-256 checksum published on the publisher’s authenticated channel.
  7. Check storage and filename. A parse error is sometimes caused by a filename with unsupported characters or by insufficient storage, so check both before assuming the file is corrupt.

The practical rule

If you obtained the APK from the publisher’s official release channel, the file is complete, and the Android version on your device meets the app’s minimum requirements, the parse error is almost always caused by one of three things: a truncated download, a mismatched signature, or a target SDK version the OS refuses to install. Your first move is to obtain the file again from the same source and check the file size against the publisher’s published value. If the size differs, the download is incomplete or corrupted.

More in this guide

APK troubleshootingFix App not installed errorsPermissions and privacy.