top of page
erogriepoconla

Error Apk Signature Scheme V2 Signer 1 Malformed Additional Attribute 1



Esquema de assinatura de APK de erro v2 Signatário nº 1 Atributo adicional malformado nº 1




Se você é um desenvolvedor ou usuário do Android, pode ter encontrado esta mensagem de erro ao tentar verificar ou instalar um arquivo APK. Neste artigo, explicaremos o que significa esse erro, o que o causa e como corrigi-lo.




error apk signature scheme v2 signer 1 malformed additional attribute 1



O que é o APK Signature Scheme v2 e por que ele é importante?




APK Signature Scheme v2 é um esquema de assinatura de arquivo inteiro que foi introduzido no Android 7.0 (Nougat) para melhorar a segurança e o desempenho da verificação do APK. Ele detecta qualquer alteração nas partes protegidas do APK, como manifesto, recursos, ativos e bibliotecas nativas. Também aumenta a velocidade de verificação usando um algoritmo mais eficiente e evitando a descompactação de entradas ZIP.


Assinar um APK com APK Signature Scheme v2 garante que ele será verificado com sucesso em todas as versões do Android que suportam esse esquema. No entanto, para compatibilidade com dispositivos mais antigos, o APK também deve ser assinado com assinatura JAR (esquema v1) antes de ser assinado com esquema v2.


Qual é o erro e o que o causa?




O erro "Esquema de Assinatura APK v2 signatário nº 1 malformado atributo adicional nº 1" ocorre quando a ferramenta apksigner falha ao verificar a assinatura de um APK assinado com o esquema v2. Isso pode acontecer por vários motivos:


  • A ferramenta apksigner está desatualizada e não suporta a versão mais recente do Esquema de Assinatura APK v2 ou v3. Por exemplo, o apksigner versão 0.8 não pode verificar APKs assinados com o algoritmo de assinatura 0x421 (ECDSA com SHA-256).



  • O APK é assinado com uma versão mais recente do apksigner que adiciona atributos adicionais ao bloco de assinatura que não são reconhecidos pela versão mais antiga do apksigner. Por exemplo, apksigner versão 0.9 adiciona um atributo minSdkVersion que especifica o nível de API do Android mais baixo que pode verificar a assinatura.



  • O APK está corrompido ou modificado após assinar com o esquema v2.Isso pode invalidar a assinatura e causar erros de verificação.



Como corrigir o erro?




Para corrigir esse erro, você precisa se certificar de que está usando a versão mais recente da ferramenta apksigner e que está assinando seu APK com todos os esquemas (v1, v2 e v3). Você também precisa usar um keystore e um certificado válidos para assinar seu APK. Aqui estão os passos a seguir:


  • Atualize a ferramenta apksigner para a versão mais recente. Você pode encontrá-lo em $ANDROID_HOME/build-tools//apksigner, onde $ANDROID_HOME é o diretório do Android SDK e <version> é o número de versão mais alto disponível. Alternativamente, você pode baixá-lo em .



  • Assine seu APK com todos os esquemas usando a ferramenta apksigner. A sintaxe para assinar um APK usando a ferramenta apksigner é a seguinte:apksigner sign --ks --out onde <keystore> é o seu arquivo de armazenamento de chaves, <signed-apk> é o nome do arquivo de saída do APK assinado e <unsigned-ap k> é o nome do arquivo de entrada para o APK não assinado. Você também pode especificar outras opções, como --ks-key-alias, --ks-pass, --key-pass, --v1-assinatura habilitada, --assinatura v2 habilitada, e --assinatura v3 habilitada. Para mais detalhes, consulte .



  • Verifique seu APK assinado usando a ferramenta apksigner. A sintaxe para verificar um APK usando a ferramenta apksigner é a seguinte:apksigner verifique --verbose .



Se você seguir essas etapas, poderá corrigir o erro e verificar e instalar seu APK com êxito.


Conclusão




Neste artigo, explicamos o que é o APK Signature Scheme v2, o que causa o erro "APK Signature Scheme v2 signer #1 malformado atributo adicional #1" e como corrigi-lo. Também mostramos como usar a ferramenta apksigner para assinar e verificar seu APK com todos os esquemas.Esperamos que este artigo tenha ajudado você a resolver seu problema e melhorar sua experiência de desenvolvimento Android.


perguntas frequentes




O que é apksigner e como usá-lo?




Apksigner é uma ferramenta de linha de comando que permite assinar e verificar arquivos APK usando vários esquemas de assinatura. Faz parte das ferramentas de compilação do Android SDK e pode ser encontrado em $ANDROID_HOME/build-tools//apksigner. Você pode usá-lo para assinar seu APK com assinatura JAR (esquema v1), Esquema de assinatura APK v2 e Esquema de assinatura APK v3. Você também pode usá-lo para verificar a assinatura de um APK e exibir suas informações de certificado. Para mais detalhes, consulte .


Qual é a diferença entre jarsigner e apksigner?




Jarsigner é uma ferramenta de linha de comando que permite assinar arquivos JAR usando certificados digitais. Faz parte do Java Development Kit (JDK) e pode ser encontrado em $JAVA_HOME/bin/jarsigner. Você pode usá-lo para assinar seu APK com assinatura JAR (esquema v1), que é compatível com todas as versões do Android. No entanto, o jarsigner não oferece suporte ao APK Signature Scheme v2 ou v3, que são mais seguros e eficientes do que a assinatura JAR. Apksigner é uma ferramenta de linha de comando que permite assinar e verificar arquivos APK usando vários esquemas de assinatura, incluindo assinatura JAR (esquema v1), Esquema de assinatura APK v2 e Esquema de assinatura APK v3. Faz parte das ferramentas de compilação do Android SDK e pode ser encontrado em $ANDROID_HOME/build-tools//apksigner. Você deve usar apksigner em vez de jarsigner para assinar seu APK com todos os esquemas.


Como verificar a assinatura de um APK?




Você pode verificar a assinatura de um APK usando a ferramenta apksigner ou outras ferramentas de terceiros. Para verificar a assinatura de um APK usando a ferramenta apksigner, use a seguinte sintaxe:apksigner verifique --verbose .


Como alternar as chaves de assinatura de um APK?




A rotação das chaves de assinatura de um APK significa alterar o keystore ou o certificado que você usa para assinar seu APK. Isso pode ser útil se você perder seu keystore ou certificado ou se quiser transferir a propriedade do seu aplicativo para outra pessoa. Para rotacionar as chaves de assinatura de um APK, você precisa usar a ferramenta apksigner com a opção --próximo-signatário. Esta opção permite adicionar um novo signatário ao seu APK sem remover o signatário anterior. Dessa forma, você pode preservar a compatibilidade com os dispositivos que já instalaram seu aplicativo com o assinante anterior. Para obter mais detalhes sobre como alternar chaves de assinatura para um APK, consulte .


Como evitar erros de assinatura conflitantes ao instalar APKs?




Ocorrem erros de assinatura conflitantes quando você tenta instalar um APK com uma assinatura diferente daquela já instalada em seu dispositivo. Isso pode acontecer se você atualizar seu aplicativo com um keystore ou certificado diferente ou se instalar uma versão modificada de um aplicativo assinado por outra pessoa. Para evitar erros de assinatura conflitantes ao instalar APKs, você precisa desinstalar a versão anterior do aplicativo antes de instalar o novo. Alternativamente, você pode usar diferentes nomes de pacote para diferentes versões de seu aplicativo ou usar diferentes chaves de assinatura para diferentes variantes de compilação de seu aplicativo. Para obter mais detalhes sobre como evitar erros de assinatura conflitantes ao instalar APKs, consulte . 0517a86e26


0 views0 comments

Recent Posts

See All

Comments


bottom of page