Kodetegn til Android

I denne artikel kan du få mere at vide om, hvordan du kan kode tegn til Android (APK). Du skal tilmelde din app på Android, hvis du har valgt Android som en af platformene, mens du opretter og bygger dit indpakningsprojekt.

Vigtigt

Hvis du i stedet vil signere en AAB-app til Google Play-distribution, skal du se Signer din app.

Forbered din pc

Du skal angive følgende oplysninger for at komme i gang:

Opret nøgler

Bemærk

Gå til signer APK-pakken, hvis du allerede har oprettet nøgler og signatur-hashen under oprettelse af appregistreringen.

Vi bruger keytool.exe (tilgængelig, når du har installeret Android Studio, fra mappeplaceringen "Drev:\Programfiler\Android\Android Studio\jre\bin\keytool.exe") til at oprette et certifikat for at signere programpakken. Nøgleværktøjet bruges til at administrere en keytool (database) med kryptografiske nøgler, X.509-certifikatprøve og certifikater, der er tillid til.

Hvis du vil oprette en nøgle, skal du åbne en kommandoprompt og køre følgende kommando:

keytool -genkey -alias SIGNATURE_ALIAS -keyalg RSA -keystore PATH_TO_KEYSTORE -keysize 2048 -validity 10000

Parametre:

  • genkey – kommando til at oprette en nøgle.
  • alias - angiver det alias, der fremover skal bruges til at referere til den nøglepost, som indeholder de nøgler, der oprettes.
  • keyalg – navnet på nøglealgoritmen.
  • keystore – navnet på den nøgle-store, du bruger.
  • keysize - størrelsen på hver enkelt nøgle, der skal oprettes.
  • validity - gyldigheden for nøglen med antallet af dage.

Eksempel:

  • Hvis du forbereder Key Vault, skal PATH_TO_KEYSTORE have filtypenavnet .pfx.

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

  • Hvis du forbereder dig på manuel signering, skal PATH_TO_KEYSTORE have filtypenavnet .jks.

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

Et skærmbillede med kommandoen keytool ved hjælp af parametrene i ovenstående eksempel.

Opret signatur-hash

Bemærk

Gå til signer APK-pakken, hvis du allerede har oprettet nøgler og signatur-hashen under oprettelse af appregistreringen.

Når nøglen er genereret, bruges kommandoen exportcert i keytool til at eksportere nøglecertifikatet.

keytool -exportcert -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE | openssl sha1 -binary | openssl base64

Parametre:

  • exportcert – læser fra nøgle-store det certifikat, der er knyttet til aliaset, og gemmer det i cert_file-fil. Når der ikke er angivet en fil, udskrives certifikatet til stdout.
  • alias - det alias, der bruges under oprettelse af nøgler tidligere.
  • keystore – navnet på den nøgle-store, du bruger.
  • openssl – genererer SHA1 til Android.

Tilføj den oprettede signatur-hash i Omdirigerings-URI'en, mens du registrerer appen.

Konvertér SHA1 til Base64-kodet signatur-hash manuelt

Du kan få vist følgende fejlmeddelelse, hvis din signatur-hash ikke er korrekt kodet eller ikke kan accepteres i Azure-portalen:

"Signatur-hashen skal være Base64-kodet SHA1."

Når denne fejl vises, kan du i stedet prøve at oprette signatur-hashen ved hjælp af følgende trin:

  1. Kør keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE for at få vist certifikatoplysningerne i detaljeret tilstand.
  2. Kopiér SHA1-værdien under sektionen Certifikatfingeraftryk fra outputtet. Sørg for, at du kun kopierer den hexadecimale værdi.
    Eksempel: EF:11:45:3D:F1:72:D9:8C:43:32:CD:0A:49:C2:E4:75:2D:B3:2D:9F
  3. Brug enhver tilgængelig "Hexadecimal til Base64"-funktion til at konvertere det kopierede hexadecimale værdi af certifikatfingeraftryk til en kodet Base64-værdi.
    Eksempel på Base64-kodet værdi: 8CPPeLaz9etdqQyaQubcqsy2Tw=
  4. Kopiér den genererede Base64-kodede værdi som Signatur-hash i Azure-portalen, mens appen registreres.

Signer APK-pakken

Du kan signere APK-pakken med værktøjet apksigner. Værktøjet giver dig mulighed for at signere APK'er og sikre, at APK-pakkesignaturen kontrolleres korrekt på alle Android-platforme, der understøttes af APK'er.

Finde din apksigner

  1. Kontroller Android SDK-stien i Android Studio.

  2. Vælg Værktøj > SDK Manager > Android SDK-placering.

    Hvis du bruger iOS, skal du kontrollere apksigner-filen i mappen buildTools Version:

    Gå til SDK-mappen > build-tools > buildToolsVersion > lib, og kontrollér filen apksigner.jar

Brug af apksigner-filen

Kør følgende kommando for at bruge apksigner, og log på pakken:

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

Parametre:

  • ks - sti til nøgle-store.
  • ks-key-alias - nøglealias-sti til APK-fil.

Når du bliver bedt om det, skal du angive adgangskoden.

Flere oplysninger: Android Studio-kommandolinjeværktøjer: apksigner

Distribuer appen

Du kan hoste pakken i en distributionstjeneste, f.eks. App Center. Hvis du vil distribuere ved hjælp af Microsoft Intune, skal du Tilføje en Android-brancheapp til Microsoft Intune. Du kan få mere at vide om, hvordan du giver en app adgang til intune-appens beskyttelsestjeneste, under Give din app adgang til intune-appens beskyttelsestjeneste.

Se også