Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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:
- Android Studio
- OpenSSL
- ferramenta apksigner (incluída com o Android Studio)
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:
- Baixe e instale o Android Studio e o OpenSSL.
- Adicione
keytool
eopenssl
à 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.
- Adicione
Gerar keystore e chave
Execute este comando para gerar uma chave:
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000
Quando solicitado:
- Introduza uma palavra-passe para o armazenamento de chaves.
- Insira seu nome, organização, local e outros detalhes necessários.
- Confirme as informações.
Gerar hash de assinatura
Execute este comando para gerar o hash de assinatura:
keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64
Quando solicitado, digite a senha do keystore que você criou anteriormente.
Formato de comando alternativo
Se você tiver variáveis de ambiente definidas, poderá usar o formato genérico:
keytool -genkey -alias SIGNATURE_ALIAS -keyalg RSA -keystore PATH_TO_KEYSTORE -keysize 2048 -validity 10000
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 |
Exemplos:
Para Key Vault (assinatura automática), use uma extensão
.pfx
:keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000
Para assinatura manual, use uma extensão
.jks
:keytool -genkey -alias powerappswrap -keyalg RSA -keystore \Users\name\Desktop\powerappswrap.jks -keysize 2048 -validity 10000
Exportar certificado e gerar hash de assinatura
Após gerar a chave, exporte o certificado do keystore usando o exportcert:
keytool -exportcert -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE | openssl sha1 -binary | openssl base64
Quando solicitado, digite a senha do keystore.
Parâmetros explicados:
Parâmetro | Description |
---|---|
exportcert | Lê o certificado do keystore |
alias | Alias usados ao gerar chaves |
keystore | Nome do keystore |
openssl | Gera a chave SHA1 para Android |
Adicione o hash de assinatura gerado na URI de redirecionamento ao registrar o aplicativo.
Converter hexadecimal SHA1 em hash de assinatura codificado em Base64
Se você vir o erro "O hash de assinatura deve ser SHA1 codificado em base64" no portal Azure, execute estas etapas:
Execute o seguinte comando. Substitua
<SIGNATURE_ALIAS>
e<PATH_TO_KEYSTORE>
por seus próprios valores.keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE
Quando solicitado, digite a senha do keystore.
Copie o valor SHA1 da seção Impressões digitais do certificado.
- Por exemplo:
EF:11:45:3D:F1:72:D9:8C:43:32:CD:0A:49:C2:E4:75:2D:B3:2D:9F
- Por exemplo:
Use um conversor "Hexadecimal para Base64" para converter o valor SHA1 em Base64.
- Por exemplo:
8CPPeLaz9etdqQyaQubcqsy2Tw=
- Por exemplo:
Use o valor codificado em Base64 gerado como o Hash de assinatura no portal do Azure ao registrar o aplicativo.
Assinatura manual do pacote APK
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
- Abra Android Studio.
- Vá para Ferramentas>Gerenciador do SDK>Localização do SDK do Android para localizar o caminho do SDK.
- 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
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
Microsoft Intune: para distribuir usando o Microsoft Intune, consulte Adicione um aplicativo da linha de negócios do Android ao Microsoft Intune.
Proteção de Aplicativo do Intune: para conceder a um aplicativo acesso ao serviço de proteção de aplicativo do Intune, consulte Conceder ao seu aplicativo acesso ao serviço de proteção de aplicativo do Intune.
Distribuição direta: você também pode distribuir o APK assinado diretamente aos usuários para instalação manual.