Ok, iată-ne. Cea mai frecventă modalitate de a crea un apk nesemnat este folosind linia de comandă:
./gradlew assemble<$Flavor><$BuildType>
Este destul de asemănător pentru app bundle:
./gradlew bundle<$Flavor><$BuildType>
de exemplu:
./gradlew assembleProdRelease // building apk./gradlew bundleProdRelease // building app bundle
Tipic, acestea sunt comenzile pentru construirea unui apk/app bundle, dar oamenii adaugă adesea signingConfig la build.gradle pentru a face partea de semnare în același timp.
Atunci, eliminând această parte din fișierul build.gradle, suntem buni pentru a crea un pachet de apk/app nesemnat.
Apk-ul construit va fi găzduit în: build/outputs/apk/flavor/buildtype/
Unul app bundle va fi în: build/outputs/bundle/flavorBuildType/
Rețineți că acest apk nu poate fi instalat în dispozitivul dvs. fără a fi semnat. Veți primi o eroare dacă încercați să îl instalați:
Pentru a semna acel apk sau app bundle, vom folosi mai întâi keytool pentru a genera un keystore (dacă nu aveți unul) și apoi vom folosi jarsigner sau apksigner pentru a semna apk-ul sau app bundle-ul cu keystore-ul generat.
Generate keystore:
Executați următoarea comandă:
keytool -genkey -v -keystore <release_keystore.keystore> -alias <alias_name> -keyalg RSA -keysize 2048 -validity 10000
Apoi vi se vor cere câteva informații ca de obicei, dar cele mai importante sunt parola keystore și parola alias. După ce am generat keystore-ul, îl vom semna cu diferite opțiuni.
Semnați un pachet apk/app cu jarsigner
Să presupunem că aveți deja instalat JDK.
jarsigner -keystore <keystore_file> -storepass <storepass> -keypass <keypass> <unsigned_apk_file> <alias_name>
Această comandă nu generează niciun fișier nou, dar apk-ul nesemnat va deveni semnat fără nicio modificare externă vizibilă (numele și dimensiunea fișierului).
Cu un pachet de aplicații, comanda este exact la fel, trebuie doar să schimbăm calea fișierului apk în fișierul pachetului de aplicații.
De fapt, jarsigner este un instrument general care este folosit pentru a semna un fișier jar. Instrumentul cel mai adaptabil pentru semnarea unui apk este apksigner, care funcționează în mod similar cu jarsigner, cu excepția faptului că nu acceptă semnarea unui pachet de aplicații.
Semnați un apk cu apksigner
Important: după cum indică și numele său, apksigner este doar un semnatar de apk, nu poate semna un App Bundle
Sintaxa pentru aceasta este la fel de simplă ca și pentru jarsigner:
apksigner sign --ks <keystore_file> <apk_file>
După executarea acestei comenzi, vi se va cere parola keystore și parola alias. Introduceți aceste informații, apoi am terminat.
.