Kodtecken för Android

Den här artikeln förklarar hur du manuellt kodsignerar din Android-app (APK) för Power Apps paketering. Signera din app för Android om du väljer Android som en av plattformarna när du skapar och bygger ditt wrap-projekt.

Important

Information om hur du signerar en AAB-app för Google Play-distribution finns i Signera din app.

Innan du börjar

Programvara som krävs

Innan du börjar ska du installera och konfigurera:

Förutsättningar

Du behöver:

  • Programnamnet för att skapa hash-nyckeln.
  • Den senaste APK-filen för att logga in.

Anmärkning

Använd .jks tillägget för manuell signering och .pfx tillägget för automatisk signering.

Generera nyckel och signaturhash

Anmärkning

Hoppa över att Manuell signering om du redan har skapat nycklar och signaturhash när du skapar appregistreringen.

Konfigurera miljövariabler

Om du inte anger miljövariabler:

  1. Hämta och installera Android Studio och OpenSSL.
  2. Lägg till keytool och openssl i PATH-miljövariabeln:
    • Lägg till C:\Program Files\Android\Android Studio\jbr\bin i PATH.
    • Lägg till vägen för openssl.exe (till exempel C:\Program Files\OpenSSL-Win64\bin) i din PATH.

För manuell underskriftsprocess

Generera hash-nyckel och certifikat för signaturens

Kör det här kommandot i kommandotolken:

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

När du uppmanas att göra det:

  1. Ange ett lösenord för nyckelbehållaren.
  2. Ange ditt namn, organisation, plats och andra nödvändiga uppgifter.
  3. Bekräfta informationen.

Kör det här kommandot för att generera nyckel och certifikat:

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

När du uppmanas till det anger du lösenordet för nyckelbehållaren som du skapade tidigare.

En skärmbild med kommandot keytool med parametrarna i exempel visat tidigare.

Förklaring av parametrar:

Parameter Description
genkey Kommando för att skapa en nyckel
alias Alias för nyckelbehållarposten
keyalg Namn på nyckelalgoritm
keystore Namn på keystore
nyckelstorlek Storlek på varje nyckel
giltighet Nyckelns giltighet i dagar
exportcert Läser certifikatet från nyckellagret
openssl Genererar SHA1-nyckel för Android

För automatisk signeringsprocess för nyckelvalv

Generera hash-nyckel och certifikat för signaturens

Kör det här kommandot i kommandotolken:

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

När du uppmanas att göra det:

  1. Ange ett lösenord för nyckelbehållaren.
  2. Ange ditt namn, organisation, plats och andra nödvändiga uppgifter.
  3. Bekräfta informationen.

Kör det här kommandot för att generera nyckel och certifikat:

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

När du uppmanas till det anger du lösenordet för nyckelbehållaren som du skapade tidigare.

Skärmbild av keytool-kommandot med parametrarna i exemplet som visades tidigare.

Förklaring av parametrar:

Parameter Description
genkey Genererar en nyckel.
alias Alias för nyckelbehållarposten.
keyalg Namn på nyckelalgoritm.
keystore Namn på keystore.
nyckelstorlek Storlek på varje nyckel.
giltighet Nyckelns giltighet i dagar.
exportcert Läser certifikatet från nyckellagret
openssl Genererar SHA1-nyckel för Android

Manuell signering av APK-paket (Ej för KV-signering)

Följ de här stegen om du inte använder automatisk inloggning under paketeringen eller om du försöker ladda upp en AAB-fil för Play Store. Undvik att upprepa den här processen genom att använda automatisk inloggning när det är möjligt.

Leta reda på apksigner-verktyget

  1. Öppna Android Studio.
  2. Gå till Verktyg>SDK Manager>Android SDK-plats för att hitta din SDK-sökväg.
  3. I SDK-katalogen navigerar du till:
    • build-tools>[versionsnummer]> hitta apksigner.bat (Windows) eller apksigner (Mac/Linux)
    • Eller: build-tools>[versionsnummer]>lib> hitta apksigner.jar

En skärmbild med platsinformation för apksigner.

Signera APK-filen

Kör det här kommandot för att signera din APK:

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

Förklaring av parametrar:

Parameter Description
ks Sökväg till din nyckelarkivsfil (till exempel C:\Users\name\Desktop\powerappswrap.jks)
ks-key-alias Det alias som du använde när du genererade nyckeln (till exempel powerappswrap)
PATH_TO_APK Fullständig sökväg till din APK-fil (till exempel C:\Users\name\Downloads\MyApp.apk)

Ange lösenordet för nyckelarkivet när du uppmanas till det.

Example:

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

Verifiera signaturen

När du har signerat verifierar du APK-signaturen med:

apksigner.bat verify --verbose PATH_TO_APK

En lyckad verifiering bekräftar att APK-filen är korrekt signerad och klar för distribution.

Mer information finns i Android Studio kommandoradsverktyg: apksigner.

Distribuera programmet

När du har signerat appen kan du distribuera den på flera olika sätt:

Distributionsalternativ

Se även