Kodetegn for Android
I denne artikkelen lærer du hvordan du lagre kodetegn for Android (APK). Du må registrere appen din for Android hvis du valgte Android som en av plattformene når du oppretter og bygger pakkeprosjektet.
Viktig
Hvis du i stedet vil logge en AAB-app for Google Play-distribusjon, kan du se Signer appen.
Klargjøre PC-en
Du må oppgi følgende informasjon for å komme i gang:
- Installere Android Studio
- Installere OpenSSL
Generer nøkler
Obs!
Gå til signering av APK-pakken hvis du allerede har generert nøkler og signatur-hash da du opprettet appregistreringen.
Vi bruker keytool.exe (tilgjengelig etter installasjon av Android Studio, fra mappeplasseringen Stasjon:\Programfiler\Android\Android Studio\jre\bin\keytool.exe) til å opprette et sertifikat for signering av programpakken. Keytool brukes til å behandle en keytool (database) med kryptografiske nøkler, X.509-sertifikatkjeder og klarerte sertifikater.
Hvis du vil generere en nøkkel, åpner du en ledetekst og kjører følgende kommando:
keytool -genkey -alias SIGNATURE_ALIAS -keyalg RSA -keystore PATH_TO_KEYSTORE -keysize 2048 -validity 10000
Parametere:
- genkey – kommando for å generere en nøkkel.
- alias – angir aliaset som skal brukes i fremtiden for å referere til keystore-oppføringen som inneholder nøklene som genereres.
- keyalg – navn på nøkkelalgoritme.
- keystore – navnet på keystore du bruker.
- keysize – størrelsen på hver nøkkel som skal genereres.
- validity – gyldighet for nøkkelen i antall dager.
Eksempel:
Hvis Key Vault klargjøres, må PATH_TO_KEYSTORE ha filtypen PFX.
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000
Hvis du klargjør for manuell signering, skal PATH_TO_KEYSTORE ha filtypen JKS.
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000
Generere signatur-hash
Obs!
Gå til signering av APK-pakken hvis du allerede har generert nøkler og signatur-hash da du opprettet appregistreringen.
Når du har generert nøkkelen, brukes exportcert-kommandoen i keytool til å eksportere keystore-sertifikatet.
keytool -exportcert -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE | openssl sha1 -binary | openssl base64
Parametere:
- exportcert – leser fra keystore-sertifikatet som er tilknyttet aliaset, og lagrer det i cert_file-filen. Når ingen fil er angitt, sendes sertifikatet til stdout.
- alias – aliaset som ble brukt under generering av nøkler tidligere.
- keystore – navnet på keystore du bruker.
- openssl – genererer SHA1-nøkkel for Android.
Legg til den genererte signatur-hashen i URI for omdirigering mens du registrerer appen.
Konverter SHA1-hex til Base64-kodet signatur-hash manuelt
Du får kanskje følgende feil hvis signatur-hashen ikke er riktig kodet eller ikke kan godtas i Azure-portalen:
«Signatur-hashen må være base64-kodet SHA1.»
Når denne feilen vises, kan du prøve å generere signatur-hashen ved å bruke følgende trinn i stedet:
- Kjør
keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE
for å vise sertifikatinformasjonen i detaljert modus. - Kopier SHA1-verdien under delen Sertifikatfingeravtrykk fra utdataene. Kontroller at du bare kopierer den heksadesimale verdien.
Eksempel:EF:11:45:3D:F1:72:D9:8C:43:32:CD:0A:49:C2:E4:75:2D:B3:2D:9F
- Bruk et program for konvertering av heksadesimaler til base64 til å konvertere den kopierte heksadesimale verdien for sertifikatfingeravtrykk til en Base64-kodet verdi.
Eksempel på den Base64-kodede verdien:8CPPeLaz9etdqQyaQubcqsy2Tw=
- Kopier den genererte Base64-kodede verdien som Signatur-hash i Azure-portalen mens du registrerer appen.
Signere APK-pakken
Vi skal bruke apksigner-verktøyet til å signere APK-pakken. Dette verktøyet lar deg signere APK-er og sikre at APK-pakkesignaturen blir verifisert på alle Android-plattformer som støttes av APK-ene.
Finne apksigner
Kontroller Android SDK-banen i Android Studio.
Velg Verktøy > SDK Manager > Android SDK-sted.
Hvis du bruker iOS, kontrollerer du apksigner-filen fra mappen buildTools-versjon:
Gå til SDK-mappen > build-tools > buildToolsVersion > lib, og se filen apksigner.jar
Bruke apksigner-filen
Kjør følgende kommando for å bruke apksigner og registrere pakken:
apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK
Parametere:
- ks – bane til keystore.
- ks-key-alias – nøkkelaliasbane til APK-fil.
Skriv inn passordet når du blir bedt om det.
Mer informasjon: Android Studio-kommandolinjeverktøy: apksigner
Distribuere appen
Du kan drifte pakken på en distribusjonstjeneste, for eksempel App Center. Hvis du vil distribuere ved hjelp av Microsoft Intune, kan du se Legge til en Android-forretningsapp i Microsoft Intune. Hvis du vil vite hvordan du gir en app tilgang til beskyttelsestjenesten for Intune-appen, kan du se Gi appen tilgang til beskyttelsestjenesten for Intune-appen.