Zdieľať cez


Manuálny kódový znak pre Android

V tomto článku sa dozviete, ako manuálne zadať kód pre Android (APK). Aplikáciu musíte podpísať pre Android ak ste si vybrali Android ako jednu z platforiem pri vytváraní a vytváraní svojho wrap projektu.

Dôležité

Ak by ste namiesto toho chceli podpísať aplikáciu AAB na distribúciu v službe Google Play, pozrite si časť Podpísanie aplikácie.

Príprava počítača

Na začiatok potrebujete nasledujúce informácie:

Požiadavky

  • Názov aplikácie na vytvorenie hash kľúča.
  • Najnovší súbor APK na proces prihlásenia.

Generujte kľúče

Poznámka

Ak ste už pri vytváraní registrácie aplikácie vygenerovali kľúče a hash podpisu, prejdite na podpísanie balíka APK.

Na vytvorenie certifikátu aplikácie použijeme keytool.exe (dostupný po inštalácii Android Studio z priečinka „Drive:\Program Files\Android\Android Studio\jre\bin\keytool.exe“). Keytool sa používa na správu skladu kľúčov (databáza) kryptografických kľúčov, reťazcov certifikátov X.509 a dôveryhodných certifikátov.

Ak chcete vygenerovať kľúč, otvorte príkazový riadok a spustite nasledujúci príkaz:

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

Parametre:

  • genkey - príkaz na vygenerovanie kľúča.
  • alias - označuje alias, ktorý sa má v budúcnosti použiť na odkazovanie na položku skladu kľúčov obsahujúcu vygenerované kľúče.
  • keyalg - názov kľúčového algoritmu.
  • keystore – názov úložiska kľúčov, ktoré používate.
  • keyize – veľkosť každého kľúča, ktorý sa má vygenerovať.
  • platnosť - platnosť kľúča v počte dní.

Príklad:

  • Ak pripravujete Key Vault, PATH_TO_KEYSTORE by mal mať príponu .pfx.

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

  • Ak sa pripravujete na manuálne podpisovanie, PATH_TO_KEYSTORE by mal mať príponu .jks.

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

Snímka obrazovky s príkazom keytool s použitím parametrov vo vyššie uvedenom príklade.

Vygenerujte hash podpisu

Poznámka

Ak ste už pri vytváraní registrácie aplikácie vygenerovali kľúče a hash podpisu, prejdite na podpísanie balíka APK.

Po vygenerovaní kľúča sa v nástroji keytool použije príkaz exportcert na export certifikátu úložiska kľúčov.

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

Parametre:

  • exportcert - načíta z úložiska kľúčov certifikát priradený k aliasu a uloží ho do súboru cert_file. Ak nie je zadaný žiadny súbor, certifikát sa odošle na výstup stdout.
  • alias – alias použitý pri generovaní kľúčov skôr.
  • keystore – názov úložiska kľúčov, ktoré používate.
  • openssl - vygeneruje kľúč SHA1 pre Android.

Pridajte vygenerovaný hash podpisu do URI presmerovania pri registrácii aplikácie.

Manuálne vykonajte konverziu hex SHA1 na kódovaný hash podpisu Base64

Ak váš hash podpisu nie je správne zakódovaný alebo je na portáli Azure neprijateľný, môže sa vám zobraziť nasledujúca chyba:

"Hash podpisu musí byť SHA1 s kódovaním base64."

Keď sa zobrazí táto chyba, skúste namiesto toho vygenerovať hash podpisu pomocou nasledujúcich krokov:

  1. Spustite keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE a zobrazí sa zoznam informácií o certifikáte v podrobnom režime.
  2. Z výstupu skopírujte hodnotu SHA1 v sekcii Odtlačky certifikátu . Uistite sa, že kopírujete iba hexadecimálnu hodnotu.
    Napríklad: EF:11:45:3D:F1:72:D9:8C:43:32:CD:0A:49:C2:E4:75:2D:B3:2D:9F
  3. Na konverziu skopírovanej hexadecimálnej hodnoty odtlačku certifikátu na zakódovanú hodnotu Base64 použite akýkoľvek dostupný konvertor „Hexadecimal to Base64“.
    Príklad zakódovanej hodnoty Base64: 8CPPeLaz9etdqQyaQubcqsy2Tw=
  4. Skopírujte vygenerovanú hodnotu zakódovanú v Base64 ako Hash podpisu na portáli Azure pri registrácii aplikácie.

Podpíšte balík APK

Na podpísanie balíka APK použijeme nástroj apksigner. Tento nástroj vám umožňuje podpísať súbory APK a zabezpečiť, aby bol podpis balíka APK úspešne overený na všetkých Android platformách podporovaných súbormi APK.

Vyhľadanie apksinger

  1. Skontrolujte cestu Android v Android Studio.

  2. Vyberte Nástroj>Správca súpravy SDK>Android Umiestnenie súpravy SDK.

    Ak používate iOS, skontrolujte súbor apksigner z adresára buildTools Version :

    Prejdite do SDK adresára >build-tools>buildToolsVersion>lib a skontrolujte a15>a16

Použite súbor apksigner

Spustite nasledujúci príkaz na použitie apksigner a podpísanie balíka:

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

Parametre:

  • ks - cesta k úložisku kľúčov.
  • ks-key-alias - cesta aliasu kľúča k súboru APK.

Keď sa zobrazí výzva, zadajte heslo.

Viac informácií: Android Studio nástroje príkazového riadka: apksigner

Distribúcia aplikácie

Balík môžete hostiť v distribučnej službe, ako je napríklad Centrum aplikácií. Ak chcete distribuovať pomocou Microsoft Intune, pozrite si Pridanie Android firemnej aplikácie do Microsoft Intune. Ak sa chcete dozvedieť o udelení prístupu aplikácii k službe ochrany aplikácií Intune, pozrite si časť Udelenie prístupu svojej aplikácii k službe ochrany aplikácií Intune.

Pozrite si tiež