Kiinni meni. Useimmiten allekirjoittamattoman apk:n luomiseen käytetään komentoriviä:
./gradlew assemble<$Flavor><$BuildType>
Se on melko samanlainen app bundle:
./gradlew bundle<$Flavor><$BuildType>
esimerkiksi:
./gradlew assembleProdRelease // building apk./gradlew bundleProdRelease // building app bundle
Tyypillisesti nämä ovat apk:n/sovellusbundlen rakentamisen komennot, mutta ihmiset usein lisäävät signingConfigin build.gradleen tehdäkseen allekirjoitusosuuden samalla kertaa.
Poistamalla tämän osan build.gradle-tiedostosta voimme siis luoda allekirjoittamattoman apk/sovelluspaketin.
Rakennettu apk sijaitsee osoitteessa: build/outputs/apk/flavor/buildtype/
Sovellusbundle yksi on osoitteessa: build/outputs/bundle/flavorBuildType/
Huomaa, että tätä apk:ta ei voi asentaa laitteeseen ilman allekirjoitusta. Saat virheilmoituksen, jos yrität asentaa sen:
Tämän apk:n tai app bundlen allekirjoittamiseksi käytämme ensin keytoolia luodaksemme avainsäilön (jos sinulla ei ole sellaista) ja sen jälkeen käytämme jarsigneria tai apksigneria allekirjoittaaksemme apk:n tai app bundlen luodulla avainsäilöllä.
Generate keystore:
Suorita seuraava komento:
keytool -genkey -v -keystore <release_keystore.keystore> -alias <alias_name> -keyalg RSA -keysize 2048 -validity 10000
Sitten sinulta kysytään joitain tietoja kuten tavallisesti, mutta tärkeimmät ovat keystoren salasana ja alias-salasana. Kun olet luonut keystoren, allekirjoitamme sen eri vaihtoehdoilla.
Sign an apk/app bundle with jarsigner
Oletetaan, että sinulla on jo JDK asennettuna.
jarsigner -keystore <keystore_file> -storepass <storepass> -keypass <keypass> <unsigned_apk_file> <alias_name>
Tämä komento ei tuota mitään uutta tiedostoa, mutta allekirjoittamaton apk muuttuu allekirjoitetuksi ilman näkyviä ulkoisia muutoksia (tiedostonimi ja tiedostokoko).
Sovelluspaketin kanssa komento on täsmälleen sama, meidän täytyy vain muuttaa apk-tiedoston polku sovelluspakettitiedostoksi.
Jarsigner on itse asiassa yleinen työkalu, jota käytetään jar-tiedoston allekirjoittamiseen. Apk:n allekirjoittamiseen parhaiten soveltuva työkalu on apksigner, joka toimii samalla tavalla kuin jarsigner, paitsi että se ei tue sovelluspaketin allekirjoittamista.
Signaa apk apksignerillä
Tärkeää: kuten nimikin kertoo, apksigner on vain apk:n allekirjoittaja, se ei voi allekirjoittaa App Bundlea
Syntaksi on yhtä suoraviivainen kuin jarsigner:
apksigner sign --ks <keystore_file> <apk_file>
Komennon suorittamisen jälkeen sinulta kysytään keystore-salasanaa ja aliaksen salasanaa. Syötä nämä tiedot, niin olemme valmiita.