Partilhar via


Assinar código para Android

Este artigo explica como assinar manualmente por código a sua aplicação Android (APK) para encapsulamento do Power Apps. Assine a sua aplicação para Android se selecionar o Android como uma das plataformas quando cria e compila o seu projeto de encapsulamento.

Importante

Para assinar uma aplicação AAB para distribuição da Google Play, consulte Assinar a sua aplicação.

Antes de começar

Software necessário

Antes de começar, instale e configure:

Pré-requisitos

Necessita de:

  • O nome da aplicação para criar a chave de hash.
  • O ficheiro APK mais recente para iniciar sessão.

Nota

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

Gerar chave e hash de assinatura

Nota

Passe para a Assinatura manual se já tiver gerado chaves e a hash de assinatura quando criou o registo da aplicação.

Configurar variáveis de ambiente

Se não definiu variáveis de ambiente:

  1. Transfira e instale o Android Studio e 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 assinatura hash e certificado

Execute este comando na linha de comandos:

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

Quando pedido:

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

Execute este comando para gerar a chave e o certificado.

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

Quando pedido, introduza a palavra-passe do arquivo de chaves que criou anteriormente.

Uma captura de ecrã com o comando da ferramenta de chaves a usar 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 arquivo de chaves
keyalg Nome do algoritmo da chave
keystore Nome do arquivo de chaves
keysize O tamanho de cada chave
validity A validade da chave em dias
exportcert Lê o certificado a partir do arquivo de chaves
openssl Gera a chave SHA1 para Android

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

Gerar chave de assinatura hash e certificado

Execute este comando na linha de comandos:

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

Quando pedido:

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

Execute este comando para gerar a chave e o certificado.

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

Quando pedido, introduza a palavra-passe do arquivo de chaves que criou anteriormente.

Captura de ecrã do comando da ferramenta de chaves a usar os parâmetros no exemplo mostrado anteriormente.

Parâmetros explicados:

Parâmetro Description
genkey Gera uma chave.
alias Alias para a entrada do arquivo de chaves.
keyalg Nome do algoritmo da chave.
keystore Nome do arquivo de chaves.
keysize O tamanho de cada chave.
validity A validade da chave em dias.
exportcert Lê o certificado a partir do arquivo de chaves
openssl Gera a chave SHA1 para Android

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

Siga estes passos se não utilizar o início de sessão automático durante o encapsulamento ou se tentar carregar um ficheiro AAB para a Play Store. Para evitar repetir este processo, utilize o início de sessão automático quando possível.

Localize a ferramenta apksigner

  1. Abrir Android Studio.
  2. Aceda a Ferramentas>Gestor de SDK>Android Localização de SDK para localizar o seu caminho SDK.
  3. No diretório de SDK, navegue para:
    • build-tools>[número da versão]> encontre apksigner.bat (Windows) ou apksigner (Mac/Linux)
    • Ou: build-tools>[número da versão]>lib> encontre apksigner.jar

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

Assinar o ficheiro APK

Execute este comando para assinar a sua 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 seu ficheiro de arquivo de chaves (por exemplo, C:\Users\name\Desktop\powerappswrap.jks)
ks-key-alias O alias que usou ao gerar a chave (por exemplo, powerappswrap)
PATH_TO_APK Caminho completo para o seu ficheiro APK (por exemplo, C:\Users\name\Downloads\MyApp.apk)

Quando pedido, introduza a palavra-passe do arquivo de chaves.

Exemplo:

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

Verificae a assinatura

Depois de assinar, verifique a assinatura APK com:

apksigner.bat verify --verbose PATH_TO_APK

A verificação bem-sucedida confirma que a sua APK está devidamente assinada e pronta para distribuição.

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

Distribuir a aplicação

Depois de assinar a sua aplicação, pode distribuí-la usando vários métodos:

Opções de distribuição

Veja também