Articles · Guides

Checking an APK before you install it

Installing from outside the Play Store is an ordinary thing to do, and it is how a great deal of legitimate software reaches Android. The risk is not the act of sideloading, it is installing a file that is not what it claims to be. Four checks catch nearly all of that, and none of them needs a tool.

The four checks

  1. Check the package name, not the display name A repackaged app usually keeps the visible name and changes the identifier by a character. The package name is what Android actually uses, and it is shown on the download page.
  2. Check that it installs over your existing copy If Android accepts it as an update, the signing key matches the app you already had. If it refuses, the key differs, and that deserves an explanation.
  3. Read the permission list before confirming This is the single most informative screen in the process. A mismatch between what the app does and what it asks for is the clearest warning available.
  4. Compare the file size against the page A size well below what the page states means a truncated download. A size well above the Play Store version means extra code.

Pubblicità

What a repackaged app looks like

SignalWhy it matters
Package name differs by one characterThe classic impersonation technique
Asks for accessibility or device adminFar beyond what most apps need
Much larger than the official buildExtra code has been added
Will not install over the official versionDifferent signing key
Version number ahead of the official releaseThere is no such release
Promises paid features unlockedSomebody modified it, which required re-signing it
Reasonable to install
  • A build that updates your existing app cleanly
  • Permissions that match what the app does
  • A version that exists on the developer's own site
  • An older version of an app you already trust
Leave it
  • Modified builds promising unlocked features
  • Anything requiring Play Protect to be disabled
  • A banking or payment app from anywhere but the official channel
  • A file whose size does not match the page

Where to be strict and where to relax

Risk is not uniform. The consequence of a bad media player is different from the consequence of a bad banking app, and it makes sense to apply different standards.

For anything holding money, identity or two-factor codes, use only the official channel, every time, with no exceptions. For a game, a media player or a utility, the four checks above are proportionate. The category where people go wrong is messaging, which feels casual and holds a great deal.

After installing

  1. Watch the first launch An app that immediately requests permissions unrelated to its function is worth uninstalling straight away.
  2. Check battery and data after a day Unexpected background activity from a small utility is a real signal.
  3. Leave Play Protect on It scans sideloaded apps too, and the harmful-app detection is worth having.
  4. Keep the source in mind for updates Mixing sources for the same app leads to the signature problem later.

Package name, signature, permissions, file size. Four checks, none of them technical, and they catch nearly everything.

Frequently asked questions

Is sideloading dangerous?

Not inherently. Installing a file that is not what it claims to be is dangerous, which is a different problem with a different fix.

Does an antivirus app help?

Marginally. Play Protect already scans installs, and the checks in this article catch more than a scanner does.

Why would a genuine app fail to install over the Play version?

Google Play re-signs uploads with its own key, so a build from the developer's site can legitimately differ. It is a question to answer, not proof of anything.

Read next

APK download against the Play Store

This is not a rivalry. Each does something the other cannot.

Paying for a VPN: what changes

You are not buying encryption. You are buying an operator whose income does not depend on you.

Archive tools on Android compared

For a plain ZIP either works. For a split, password-protected archive, only one does.