Kódjel Android rendszerhez
Ebből a cikkből megtudhatja, hogyan lehet manuálisan kódolni az (APK) kódolását Android . Alá kell írnia az alkalmazást Android , ha a burkolási projekt létrehozásakor és felépítése Android során az egyik platformotválasztotta.
Fontos
Ha ehelyett egy AAB-alkalmazást szeretne aláírni a Google Play-terjesztéshez, tekintse meg az Alkalmazás aláírása című témakört.
A számítógép előkészítése
A kezdéshez a következő információkra van szüksége:
- Felállít Android Studio
- Az OpenSSL beállítása
- Az apksigner eszköz beállítása
Előfeltételek
- Alkalmazás neve a kivonatkulcs létrehozásához.
- A legújabb APK fájl a bejelentkezési folyamathoz.
Kulcsok létrehozása
Feljegyzés
Ugorja ki az APK-csomag aláírását, ha az alkalmazásregisztráció létrehozásakormár generált kulcsokat és aláírás-kivonatot.
A keytool.exe (a telepítés Android Studio után elérhető a "Drive:\Program Files\Android\Android Studio\jre\bin\keytool.exe" mappából fogunk létrehozni egy tanúsítványt az alkalmazáscsomag aláírásához. Keytool kezeli a kriptográfiai kulcsok, az X.509 tanúsítvány tanúsítványai és a megbízható tanúsítványok keystore adatbázisát.
Kulcs előállításához nyisson meg parancssort, és futtassa a következő parancsot:
keytool -genkey -alias SIGNATURE_ALIAS -keyalg RSA -keystore PATH_TO_KEYSTORE -keysize 2048 -validity 10000
Paraméterek:
- genkey - parancs a kulcs generálásához.
- alias - a jövőben használandó aliast jelzi a létrehozott kulcsokat tartalmazó kulcstárbejegyzésre való hivatkozáshoz.
- keyalg- kulcs algoritmus neve.
- Keystore - Az Ön által használt kulcstár neve.
- keysize - az egyes generálandó kulcsok mérete.
- érvényesség – a kulcs érvényessége napok számában.
Példa:
A Key Vault előkészítésekor PATH_TO_KEYSTORE .pfx kiterjesztéssel kell rendelkeznie.
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000
A manuális aláírás előkészítésekor a PATH_TO_KEYSTORE rendelkezzen .jks kiterjesztéssel.
keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000
Aláíráskivonat előállítása
Feljegyzés
Ugorja ki az APK-csomag aláírását, ha az alkalmazásregisztráció létrehozásakormár generált kulcsokat és aláírás-kivonatot.
A kulcs generálása után az exportcert paranccsal a keytool exportálja a kulcstár tanúsítványát.
keytool -exportcert -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE | openssl sha1 -binary | openssl base64
Paraméterek:
- exportCert – beolvassa a kulcstárolóból az aliashoz társított tanúsítványt, és a cert_file fájlban tárolja. Ha egyetlen fájlt sem ad meg, a tanúsítvány kimenete stdout lesz.
- alias - a kulcsok korábbi generálásakor használt alias.
- Keystore - Az Ön által használt kulcstár neve.
- openssl - generálja az SHA1 kulcsot Android.
Adja hozzá a létrehozott aláírás-kivonatot az átirányítási URI-hoz az alkalmazás regisztrálásakor.
SHA1 hex átalakítása base64 kódolású aláírás-kivonattá manuálisan
A következő hibaüzenet jelenhet meg, ha az aláírás kivonata nincs megfelelően kódolva, vagy elfogadhatatlan a Azure Portal:
"Az aláírás-kivonatnak base64 kódolású SHA1-nek kell lennie."
Amikor ez a hiba jelenik meg, a következő lépések használatával próbálja meg generálni az aláírás kivonatát:
- Futtassa
keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE
a tanúsítvány adatainak részletes módban való listázásához. - Másolja ki az SHA1 értéket a Tanúsítvány ujjlenyomatok szakaszban a kimenetből. Győződjön meg róla, hogy csak a hexadecimális értéket másolja.
Például:EF:11:45:3D:F1:72:D9:8C:43:32:CD:0A:49:C2:E4:75:2D:B3:2D:9F
- Bármely elérhető "Hexadecimal to Base64" (Hexadecimal to Base64) eszköz használatával alakítsa át a másolt tanúsítvány-ujjlenyomat hexadecimális értékét Base64 kódolású értékké.
Példa a Base64 kódolású értékre:8CPPeLaz9etdqQyaQubcqsy2Tw=
- Másolja ki a létrehozott Base64 kódolású értéket aláírási kivonatként a Azure Portal az alkalmazás regisztrálásakor.
Az APK csomag kézi aláírása
Az APK-csomag aláírásához az apksigner eszközt fogjuk használni. Ez az eszköz lehetővé teszi az APK-k aláírását, és biztosítja, hogy az APK-csomag aláírása sikeresen ellenőrizhető legyen az APK-k által támogatott összes Android platformon.
Feljegyzés
Ezekre a lépésekre akkor van szükség, ha még nem csomagolta be az alkalmazást automatikus bejelentkezéssel. A lépés megismétlésének elkerülése érdekében javasoljuk az automatikus bejelentkezés használatát.
Az apksigner megkeresése
Ellenőrizze az Android SDK elérési útját az Android Studio alkalmazásban.
Válassza az Eszköz SDK-kezelő>SDK helye lehetőséget>Android .
Ha használja iOS, ellenőrizze az apksigner fájlt a buildTools Version könyvtárból:
Nyissa meg az SDK könyvtár >build-tools>buildToolsVersion>lib fájlt, és ellenőrizze a apksigner.jar fájlt
Az apksigner-fájl használata
Futtassa a következő parancsot az apksigner használatához és a csomag aláírásához:
apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK
Paraméterek:
- ks - elérési út a kulcstárhoz.
- ks-key-alias - kulcs alias elérési út az APK fájlhoz.
Amikor a rendszer kéri, adja meg a jelszót.
További információ: Android Studio parancssori eszközök: apksigner
Az alkalmazás terjesztése
A csomagot egy terjesztési szolgáltatásban, például az App Centerben is üzemeltetheti. A Microsoft Intune használatával történő terjesztéshez lásd: Üzletági alkalmazás hozzáadása Android a Microsoft Intune. Ha többet szeretne megtudni arról, hogyan adhat hozzáférést egy alkalmazásnak az Intune alkalmazásvédelmi szolgáltatáshoz, tekintse meg az alkalmazásnak a hozzáférés megadását az Intune alkalmazásvédelmi szolgáltatáshoz.