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:
- Inštalovať Android Studio
- Nainštalujte OpenSSL
- Nainštalujte nástroj apksigner
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
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:
- Spustite
keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE
a zobrazí sa zoznam informácií o certifikáte v podrobnom režime. - 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
- 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=
- 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
Skontrolujte cestu Android v Android Studio.
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.