O v2 assina todo o conteúdo do APK, exceto o próprio bloco de assinatura (ID do bloco 0x7109871a), de modo que qualquer modificação é detectada e a verificação é mais rápida que as verificações JAR por entrada do v1. O v3 (ID do bloco 0xf05368c0) acrescenta uma linhagem com prova de rotação para que o app possa migrar para uma nova chave de assinatura; o v3.1 permite que a rotação valha só para versões mais novas da plataforma. O v4 guarda uma assinatura em árvore de Merkle em um arquivo .idsig separado, para instalações incrementais pelo ADB, e também exige uma assinatura v2 ou v3.
Os comandos apksigner sign e apksigner verify --print-certs cuidam de todos os esquemas; a Assinatura de apps do Google Play mantém a chave de assinatura do app no lado do Google, e os desenvolvedores enviam o app com uma chave de upload separada. As atualizações precisam ser assinadas pela mesma chave ou por uma sucessora rotacionada; caso contrário, a instalação falha. O inspetor de assinaturas APK lista esquemas, signatários e linhagem.