Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo spiega come firmare manualmente il codice Android dell'app (APK) per il wrapping di Power Apps. Firma la tua app per Android se hai selezionato Android come una delle piattaforme mentre crei e costruisci il tuo progetto di wrapping.
Importante
Per firmare un'app AAB per la distribuzione in Google Play, vedi Firma l'app.
Operazioni preliminari
Software richiesto
Prima di iniziare, installa e configura:
- Android Studio
- OpenSSL
- strumento apksigner (incluso con Android Studio)
Prerequisiti
È necessario:
- Nome dell'applicazione per creare la chiave hash.
- Il file APK più recente per accedere.
Nota
Utilizzare l'estensione .jks
per la firma manuale e l'estensione .pfx
per la firma automatica.
Generare la chiave e l'hash di firma
Nota
Passa alla Firma manuale se hai già generato chiavi e hash della firma durante la creazione della registrazione dell'app.
Impostare variabili di ambiente
Se non imposti le variabili di ambiente:
- Scarica e installa Android Studio e OpenSSL.
- Aggiungi
keytool
eopenssl
alla tua variabile di ambiente PATH:- Aggiungi
C:\Program Files\Android\Android Studio\jbr\bin
alla tua variabile di ambiente PATH. - Aggiungi il percorso di
openssl.exe
(ad esempio,C:\Program Files\OpenSSL-Win64\bin
) alla tua variabile di ambiente PATH.
- Aggiungi
Generare l'archivio chiavi e la chiave
Esegui questo comando per generare una chiave:
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000
Alla richiesta:
- Inserisci una password per il tuo keystore.
- Inserisci il nome, l'organizzazione, la posizione e gli altri dettagli richiesti.
- Conferma le informazioni.
Generare l'hash di firma
Esegui questo comando per generare l'hash della firma:
keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64
Quando richiesto, immettere la password del keystore creata in precedenza.
Formato di comando alternativo
Se hai impostato le variabili di ambiente, puoi usare il formato generico:
keytool -genkey -alias SIGNATURE_ALIAS -keyalg RSA -keystore PATH_TO_KEYSTORE -keysize 2048 -validity 10000
Parametri spiegati:
Parametro | Descrzione |
---|---|
genkey | Comando per generare una chiave |
alias | Alias per la voce del keystore |
keyalg | nome dell'algoritmo chiave |
keystore | Nome del keystore |
keysize | Dimensione di ogni chiave |
validità | Validità della chiave in giorni |
Esempi:
Per Insieme di credenziali delle chiavi (firma automatica), usa un'estensione
.pfx
:keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000
Per la firma manuale, utilizza un'estensione
.jks
:keytool -genkey -alias powerappswrap -keyalg RSA -keystore \Users\name\Desktop\powerappswrap.jks -keysize 2048 -validity 10000
Esporta il certificato e genera l'hash della firma
Dopo aver generato la chiave, esporta il certificato del keystore usando il comando exportcert:
keytool -exportcert -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE | openssl sha1 -binary | openssl base64
Quando richiesto, immetti la password del keystore.
Parametri spiegati:
Parametro | Descrzione |
---|---|
exportcert | Legge il certificato dall'archivio chiavi |
alias | Alias usato per la generazione delle chiavi |
keystore | Nome del keystore |
openssl | Genera la chiave SHA1 per Android |
Aggiungi l'hash della firma generata nell'URI di Reindirizzamento mentre registri l'app.
Convertire l'esadecimale SHA1 in hash della firma con codifica Base64
Se viene visualizzato l'errore "L'hash della firma deve essere SHA1 con codifica Base64" nel portale Azure, attenersi alla seguente procedura:
Esegui questo comando. Sostituisci
<SIGNATURE_ALIAS>
e<PATH_TO_KEYSTORE>
con i tuoi valori.keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE
Quando richiesto, immetti la password del keystore.
Copia il valore SHA1 dalla sezione Impronte digitali certificato.
- Ad esempio:
EF:11:45:3D:F1:72:D9:8C:43:32:CD:0A:49:C2:E4:75:2D:B3:2D:9F
- Ad esempio:
Usa un convertitore "Esadecimale in Base64" per convertire il valore SHA1 in Base64.
- Ad esempio:
8CPPeLaz9etdqQyaQubcqsy2Tw=
- Ad esempio:
Usa il valore Base64 come Hash della firma nel portale di Azure mentre registri l'app.
Firma manuale del pacchetto APK
Segui questi passaggi se non utilizzi l'accesso automatico durante il wrapping o se provi a caricare un file AAB per il Play Store. Per evitare di ripetere questo processo, usa l'accesso automatico quando possibile.
Individua lo strumento apksigner
- Android Studio aperti.
- Vai a Strumenti>Gestione SDK>Posizione SDK Android per trovare il percorso dell'SDK.
- Nella directory SDK, vai a:
- build-tools>[numero di versione]> trova apksigner.bat (Windows) o apksigner (Mac/Linux)
- Oppure: build-tools>[numero di versione]>lib> trova apksigner.jar
Firma il file APK
Esegui questo comando per firmare il tuo APK:
apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK
Parametri spiegati:
Parametro | Descrzione |
---|---|
ks | Percorso del file dell'archivio chiavi (ad esempio) C:\Users\name\Desktop\powerappswrap.jks |
ks-key-alias | L'alias utilizzato durante la generazione della chiave (ad esempio) powerappswrap |
PATH_TO_APK | Percorso completo del file APK (ad esempio, C:\Users\name\Downloads\MyApp.apk ) |
Quando richiesto, immetti la password del keystore.
Esempio:
apksigner.bat sign --ks C:\Users\name\Desktop\powerappswrap.jks --ks-key-alias powerappswrap C:\Users\name\Desktop\MyApp.apk
Verifica la firma
Dopo aver firmato, verifica la firma APK con:
apksigner.bat verify --verbose PATH_TO_APK
Una verifica riuscita conferma che il tuo APK è firmato correttamente e pronto per la distribuzione.
Per ulteriori informazioni, vedi Strumenti della riga di comando Android Studio: apksigner.
Distribuire l'app
Dopo aver firmato l'app, puoi distribuirla in diversi modi:
Opzioni di distribuzione
Microsoft Intune: per distribuire tramite Microsoft Intune, vedi Aggiungere un'app line-of-business Android per Microsoft Intune.
Protezione app di Intune: per dare accesso all'app l'accesso al servizio Protezione app di Intune, vedi Concedere alla tua app l'accesso al servizio Protezione app di Intune.
Distribuzione diretta: puoi anche distribuire l'APK firmato direttamente agli utenti per l'installazione manuale.