Compartilhar via


Assinatura de código para Android

Este artigo explica como usar assinatura de código manualmente em seu aplicativo Android (APK) para empacotamento do Power Apps. Assine seu aplicativo para Android se você selecionar Android como uma das plataformas ao criar e compilar seu projeto de empacotamento.

Importante

Para assinar um aplicativo AAB para a distribuição do Google Play, consulte Assinar seu aplicativo.

Antes de começar

Software necessário

Antes de começar, instale e configure:

Pré-requisitos

Você precisará:

  • O nome do aplicativo para criar a chave de hash.
  • O arquivo APK mais recente para entrar.

Observação

Use a extensão .jks para assinatura manual e a extensão .pfx para assinatura automática.

Gerar chave e hash de assinatura

Observação

Pule para Assinatura manual se você já tiver gerado chaves e o hash de assinatura ao criar o registro de aplicativo.

Configurar variáveis de ambiente

Se você não definir variáveis de ambiente:

  1. Baixe e instale o Android Studio e o OpenSSL.
  2. Adicione keytool e openssl à sua variável de ambiente PATH:
    • Adicione C:\Program Files\Android\Android Studio\jbr\bin ao seu PATH.
    • Adicione o caminho de openssl.exe (por exemplo, C:\Program Files\OpenSSL-Win64\bin) ao seu PATH.

Para o processo de assinatura manual

Gerar chave de hash de assinatura

Execute este comando no prompt de comando como um administrador para gerar uma chave:

keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000

Quando solicitado:

  1. Introduza uma palavra-passe para o armazenamento de chaves.
  2. Insira seu nome, organização, local e outros detalhes necessários.
  3. Confirme as informações.

Uma captura de tela com o comando keytool usando os parâmetros no exemplo anterior.

Gere um certificado

Execute este comando para gerar o certificado

keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64

Quando solicitado, digite a senha do keystore que você criou anteriormente.

Uma captura de tela com o comando keytool usando os parâmetros no exemplo mostrado anteriormente.

Parâmetros explicados:

Parâmetro Description
genkey Comando para gerar uma chave
alias Alias para a entrada do keystore
keyalg Nome do algoritmo-chave
keystore Nome do keystore
keysize Tamanho de cada chave
validade Validade da chave em dias

Para o processo de assinatura automática do cofre de chaves

Gerar chave de hash de assinatura

Abra um prompt de comando como administrador e execute este comando para gerar uma chave:

keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000

Quando solicitado:

  1. Introduza uma palavra-passe para o armazenamento de chaves.
  2. Insira seu nome, organização, local e outros detalhes necessários.
  3. Confirme as informações.

Uma captura de tela com o comando keytool usando os parâmetros no exemplo anterior.

Gere um certificado

Execute este comando para gerar um certificado:

keytool -exportcert -alias powerappswrap -keystore powerappswrap.pfx | openssl sha1 -binary | openssl base64

Quando solicitado, digite a senha do keystore que você criou anteriormente.

Uma captura de tela com o comando keytool usando os parâmetros no exemplo mostrado anteriormente.

Parâmetros explicados:

Parâmetro Description
genkey Gera uma chave.
alias Alias para a entrada do repositório de chaves.
keyalg Nome do algoritmo de chave.
keystore Nome do repositório de chaves.
keysize Tamanho de cada chave.
validade Validade da chave em dias.

Assinatura manual do pacote APK (Não para assinatura KV)

Siga estas etapas se não utilizar a entrada automática durante o empacotamento ou se tentar carregar um arquivo AAB para a Play Store. Para evitar a repetição desse processo, use a entrada automática sempre que possível.

Localize a ferramenta apksigner

  1. Abra Android Studio.
  2. Vá para Ferramentas>Gerenciador do SDK>Localização do SDK do Android para localizar o caminho do SDK.
  3. No diretório SDK, navegue para:
    • build-tools>[número da versão]> localizar apksigner.bat (Windows) ou apksigner (Mac/Linux)
    • Ou: build-tools>[número da versão]>lib> localizar apksigner.jar

Uma captura de tela com informações de localização do apksigner.

Assine o arquivo APK

Execute este comando para assinar seu APK:

apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK

Parâmetros explicados:

Parâmetro Description
ks Caminho para o arquivo keystore (por exemplo, C:\Users\name\Desktop\powerappswrap.jks)
ks-key-alias O alias usado ao gerar a chave (por exemplo, powerappswrap)
PATH_TO_APK Caminho completo para seu arquivo APK (por exemplo, C:\Users\name\Downloads\MyApp.apk)

Quando solicitado, digite a senha do keystore.

Exemplo:

apksigner.bat sign --ks C:\Users\name\Desktop\powerappswrap.jks --ks-key-alias powerappswrap C:\Users\name\Desktop\MyApp.apk

Verificar a assinatura

Após assinar, verifique a assinatura APK com:

apksigner.bat verify --verbose PATH_TO_APK

Uma verificação bem-sucedida confirma que seu APK está devidamente assinado e pronto para distribuição.

Para obter mais informações, consulte Ferramentas de linha de comando do Android Studio: apksigner.

Distribuir o aplicativo

Depois de assinar seu aplicativo, você pode distribuí-lo usando vários métodos:

Opções de distribuição

Consultar também