Signing & App Identity

APK Signing Schemes v1, v2, v3 and v4: What Each Adds

APK signing schemes describe how Android verifies package integrity and signing identity. They are not a simple “higher number means this app is safe” score. Compatibility, key rotation and installation workflows determine which schemes matter for a particular release.

By , FounderUpdated 4 min read

Understand the roles

Scheme Main distinction
v1 JAR-style signing associated with individual archive entries and legacy compatibility
v2 APK-level integrity protection using the APK signing block
v3 Extends the signing model with support for signing-key rotation metadata
v4 Supports incremental installation through a separate signature file and relies on complementary APK signing

Consult the v2, v3 and v4 specifications for precise verification behavior. This table is a conceptual map, not a complete compatibility matrix for every newer platform extension.

Do not infer schemes from META-INF alone

A modern signature block is not just another ordinary ZIP entry. An archive browser that sees no familiar v1 certificate file cannot conclude that the APK is unsigned. Conversely, a certificate file being present does not prove the package's current bytes verify.

Use a signing-aware tool:

BASH · REFERENCE EXAMPLE
apksigner verify --verbose --print-certs app.apk

Read the verification result for the relevant schemes and the tool's warnings. apksigner.

Match signing settings to supported devices

A release supporting older Android versions may need compatibility behavior different from a modern-only application. Let the supported Android build/signing tooling apply the appropriate configuration, and test the actual minimum-supported platform.

Do not disable a scheme simply to make a scanner show fewer entries or to imitate a screenshot from another app. The right configuration depends on the release's platform support and distribution arrangement.

Account for rotation and newer platform changes

Signing lineage can allow documented transitions between keys on supported platforms. Google Play's key-upgrade arrangements can also vary by platform version. A checker that displays only one certificate without explaining lineage may give an incomplete view.

When a release uses a newer signing feature, verify that the analysis tool understands it. “Not reported” and “cryptographically absent” are not interchangeable results.

Use the output as evidence, not a badge

Record the verifier version, artifact identifier, supported Android range and certificate comparison. Keep cryptographic verification separate from a malware or vulnerability assessment.

APKLint's signature viewer is designed for signing metadata and structural information. It should not be used to assert that every scheme was fully cryptographically verified, that a publisher is trustworthy or that a package will install on every device.

Interpret a scheme report in its platform context

Suppose a verifier reports a valid modern APK signing scheme but no v1 signature. The useful next question is which Android versions the release is intended to support and whether its signing configuration matches that support. Do not add or remove schemes merely to make the report contain the largest possible number of green rows. A compatibility conclusion requires the actual release configuration and relevant verifier behavior.

Keep the verifier version and the artifact's minimum-platform declaration in the report. If a scanner cannot recognize a newer scheme or signing feature, label the result as unsupported or unknown rather than reporting cryptographic absence. Conversely, a recognized signing-block structure is not by itself evidence that the protected content passed verification.

Keep key rotation evidence with update tests

For an application using a documented key transition, retain the old and new signing identities, the relevant lineage information and the platform coverage of the transition. Test an update from a supported old release on the intended platform versions using synthetic data. A fresh install of the new build does not exercise continuity with the previous signer.

The AOSP signing overview links to the individual scheme specifications. Consult the specification for a precise protocol question and the distribution provider's documentation for account-specific key-management behavior. A short scheme table is a navigation aid, not a replacement for either source.

If your workflow emits a separate v4 signature file, preserve its association with the corresponding APK and understand which installation path consumes it. Do not assume that finding a sidecar file makes an otherwise invalid APK acceptable. The release record should still identify the final APK and its verification result, with any complementary artifacts listed explicitly. This avoids confusing an incremental-installation mechanism with an independent publisher-trust guarantee.

Sources and further reading

  1. Android Open Source Project: APK signature scheme v2
  2. Android Open Source Project: APK signature scheme v3
  3. Android Open Source Project: APK signature scheme v4
  4. Android Developers: apksigner

Reference review: 29 September 2026. Examples illustrate the workflow; check your installed versions, release artifact and account-specific Console requirements before applying them. This guide is not a claim that APKLint executed your project or verified your private account.

APKLint

Android inspection tools and practical release guides. About APKLint · Report a correction