When you sideload an APK, the biggest risk is that the file may have been modified after the developer signed it. A changed signature means the app could contain malware, hidden trackers, or unwanted code. This tutorial walks you through a reliable, no‑root workflow to verify an app’s digital signature on any Android device using only a PC and free tools.
Every Android app is signed with a private key belonging to the developer. Android’s package manager checks that the signature in the APK matches the one stored on the device before allowing installation. If the APK is altered, the signature no longer matches, and the app should be rejected. However, when you download an APK from a third‑party site, the system can’t guarantee the file you have is the exact one the developer released. Verifying the signature yourself gives you a concrete proof that the file is authentic.
apksigner utility ships with the Android SDK Build‑Tools, which require a JDK. Install OpenJDK 11 or later.If you prefer a completely on‑device solution, you can skip the PC steps and use a free app like “APK Analyzer” from the Play Store. The tutorial includes that alternative.
If the app is already installed and you want to verify the version that lives on the phone, pull the APK using ADB:
adb shell pm list packages -f | grep -i package_name
Replace package_name with the app’s package (e.g., com.example.app). The command returns a line like:
package:/data/app/com.example.app-1/base.apk=com.example.app
adb pull /data/app/com.example.app-1/base.apk ~/Downloads/example.apk
Now you have the exact APK the device is using, which you can verify against the original download.
The signature you need to compare against is the one the developer published. Most reputable sources (Google Play, F‑Droid, the developer’s website) provide a checksum (SHA‑256) or a public key fingerprint. If you have a checksum, you can skip the next sub‑step and go straight to verification.
Google Play does not expose the raw certificate, but you can retrieve it from the installed app using ADB:
adb shell "pm dump package_name | grep -i cert"
This prints the SHA‑256 fingerprint of the signing certificate.Many sites publish a SHA‑256 hash alongside the download link. Keep that value handy; the verification step will compute the same hash for the APK you have.
apksigner
The apksigner tool is part of the Android SDK Build‑Tools. It can both display the signing certificate and verify the signature integrity.
cd /path/to/android-sdk/build-tools/version/
./apksigner verify --print-certs ~/Downloads/example.apk
The output includes lines such as:
Signer #1 certificate SHA-256 digest: 3A:5F:…
Certificate DN: CN=Example Developer, O=Example Corp, C=US
Why this works: The digest is a hash of the X.509 certificate that signed the APK. Changing any byte in the APK (or using a different certificate) would cause the verification to fail.
Even if the signature matches, a corrupted download could still cause issues. Compute a SHA‑256 hash of the file and compare it with the source’s published hash.
shasum -a 256 ~/Downloads/example.apk
Get-FileHash -Algorithm SHA256 -Path "C:\Users\You\Downloads\example.apk"
If the hashes differ, the file is either corrupted or deliberately altered – do not install it.
If you prefer to stay on the phone, the “APK Analyzer” app from the Play Store offers a simple UI:
This method is handy when you’re away from a PC, but the PC approach remains the most thorough because it lets you run apksigner verify with the --verbose flag for deeper diagnostics.
…/build-tools/version/. If you only have Platform‑Tools, download the full SDK or the “command‑line tools” bundle./data/app. Use the adb backup method or obtain the APK from a trusted backup tool instead.If the signature and checksum both match the official values, you can safely install the APK:
If verification fails, delete the file immediately. Look for the app on the official Play Store or request a fresh, signed copy from the developer.
apksigner verify --print-certs to extract the signing certificate’s SHA‑256 digest.Following these steps gives you concrete evidence that the APK you are about to install is exactly the one the developer released, protecting you from tampered or malicious software without ever needing root access.









