Počítače Okna Internet

Jak správně podepsat APK hru nebo aplikaci na Androidu. jak podepsat apk pomocí gradle jak podepsat soubor apk pro google play

Takže jste pracovali mnoho dní (a možná i nocí) a nyní je vaše první hybridní mobilní aplikace připravena. Je poměrně stabilní, většina kritických chyb je uzavřena. Zůstaly malé, ale pamatovat si, že perfekcionismus je zlo, se rázně rozhodnete aplikaci publikovat.

Předpokladem je přítomnost podepsaného souboru APK. Jak podepsat soubor apk, se dozvíte z tohoto článku.

malá odbočka

Když se můj pet projekt blížil k vydání, začal jsem hledat informace, jak rychle a bezbolestně publikovat aplikaci. Mnoho z nalezených návodů vypadalo jednoduše. Zvolil jsem návod autorů frameworku Ionic, na kterém byla aplikace vyvíjena. Ne vše se povedlo napoprvé, funkcí je několik. Proces podepisování je popsán v tomto článku, důležité body jsou zvýrazněny.

Počáteční údaje

Předpokládám, že máte vše, co potřebujete k vývoji hybridních mobilních aplikací s Apache Cordova. Musí být nainstalováno:
  • Apache Cordova
  • Java Development Kit
  • Nástroje Android SDK
lcf se používá jako název projektu a aplikace. V případě potřeby nahraďte názvem svého projektu.

Jít

Nejprve musíte vytvořit sestavení vydání vaší aplikace. Ještě předtím se ale ujistěte, že jsou odstraněny všechny nepotřebné pluginy. Nepotřebujeme například plugin, který vytiskne informace o ladění do konzole. Pojďme to odstranit:

$ cordova plugin rm cordova-plugin-console
Chcete-li vygenerovat sestavení vydání pro Android, použijte příkaz stavět s vlajkou --uvolnění:

$ cordova build --release android
Tento příkaz vytvoří nepodepsaný Soubor APK v adresáři:

platformy/android/build/outputs/apk
Například platformy/android/build/outputs/apk/ android-release-unsigned.apk. Poté musíme tento soubor podepsat a spustit nástroj zipalign k optimalizaci a přípravě souboru pro Google Play.

K podepsání souboru je vyžadován certifikát. Vytvoříme jej pomocí utility klíčový nástroj který je součástí JDK:

$ keytool -genkey -v -store keystore lcf.keystore -alias lcf -keyalg RSA -keysize 2048 -platnost 10000
Důležité

Hodnotu parametru -alias je třeba si zapamatovat, ale je lepší si ji zapsat. Ve výše uvedeném příkladu se rovná lcf (podle prvních písmen názvu aplikace Loyal Client Free). Nebudu zde uvádět podrobnosti, pokud budete mít zájem, napište do komentářů, řeknu více.

Alias ​​se používá při každém podepisování * aplikací. Pro snazší zapamatování použijte jako alias název souboru úložiště klíčů, například:


-keystore hello-world.keystore -alias hello-world -keystore weather-app.keystore -alias weather-app -keystore todo.keystore -alias todo
* Při každém vydání aktualizací musíte aplikaci podepsat

Utility klíčový nástroj klade řadu otázek. Celkem jich bude 8. Pro představu otázek a přibližné odpovědi předem jsou všechny uvedeny níže, pod spoilerem.

klíčové otázky a vzorové odpovědi

1. Zadejte heslo úložiště klíčů:
Zde je potřeba zadat heslo k souboru (alespoň 6 znaků). Zadané heslo je nutné si opsat na bezpečném místě, je potřeba při každém podepisování aplikace.

2. Znovu zadejte nové heslo:
Heslo pro opětovné zadání.

3. Jaké je vaše jméno a příjmení?
: Ivan Petrov
Vaše jméno a příjmení. Hodnota v hranatých závorkách je výchozí hodnota.

4. Jak se jmenuje vaše organizační jednotka?
: TO
Název divize vaší společnosti. Můžete to nechat prázdné, já specifikuji IT.

5. Jaký je název vaší organizace?
: 2 vývojáři
Název vaší organizace. Uveďte, pokud existuje.

6. Jak se jmenuje vaše město nebo lokalita?
: Moskva
Jméno města

7. Jaký je název vašeho státu nebo provincie?
: MO
Název regionu

8. Jaký je dvoupísmenný kód země pro tuto jednotku?
: EN
Kód země. Označuji RU.

: y

Potvrďte, zda je vše v pořádku, nebo stiskněte Enter pro vstup znovu.


Na konci se objeví hláška o úspěšném vygenerování klíče. Budete vyzváni k nastavení hesla pro soukromý klíč (pokud chcete ponechat stejné jako pro certifikát, stiskněte Enter):

Generování 2 048bitového páru klíčů RSA a certifikátu s vlastním podpisem (SHA256withRSA) s platností 10 000 dní pro: CN=Ivan Petrov, OU=IT, O=2developers, L=Moskva, ST=MO, C=RU Zadejte klíč heslo pro (RETURN, pokud je stejné jako heslo úložiště klíčů):
Soubor bude vytvořen v aktuálním adresáři lcf.keystore.

Důležité

Vytvořený soubor musí být uložen na bezpečném místě. Pokud používáte soukromé úložiště, pak soubor může být potvrzen spolu se zdrojovými kódy aplikace. Obecně platí, že certifikáty se nejlépe ukládají samostatně. Pokud certifikát ztratíte, nebudete moci vydávat aktualizace aplikací.

Zbývají dva kroky a budete mít soubor APK připravený k distribuci. Pokračujeme přímo k podpisu.

K podepsání souboru APK použijte tento nástroj jarsigner, který je rovněž zařazen do JDK.

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore lcf.keystore android-release-unsigned.apk lcf
Název certifikátu je uveden za parametrem -úložiště klíčů, alias - za názvem souboru.

Nakonec k optimalizaci souboru apk použijeme nástroj zipalign:

$ zipalign -v 4 android-release-unsigned.apk LoyalClientFree.apk
Posledním parametrem je název souboru, který budete na Google Play nahrávat.

Důležité.

Utility zipalign je součástí Android SDK Tools a lze jej nalézt zde:

/path/to/Android/sdk/build-tools/VERSION/zipalign

Závěr

Nyní máte soubor APK připravený k distribuci, který lze nahrát na Google Play. Vyplňte popis, určete hodnocení vaší aplikace a klikněte na „Publikovat“.

Vzhledem k tomu, že jsem si otázku vygooglil sám jak podepsat apk soubor?", Vím, že najít skutečně fungující a srozumitelný návod ve všem není tak snadné. Proto jsem se rozhodl sám napsat materiál, jak správně podepsat svůj program nebo hru na Androidu.

Jak již víte, bez digitálního podpisu nelze váš výtvor umístit na Market, a to už je vážné. Spousta mladých vývojářů Androidu si všimla, že začátečníci takříkajíc úplně zapomněli podepsat svou aplikaci a pokusili se něco udělat s tím později a to je divné, proč nejsou schopni provádět určité akce se svým souborem APK.

Nenatahujme to tedy a rovnou začněme tím, jak můžete svůj apk soubor podepsat a jak jej vlastně použít k dosažení požadovaného výsledku.

Tato metoda je nejsprávnější ze všech uvedených, proto ji popíšeme v tomto materiálu. Vytvoříme si vlastní klíče s našimi daty a certifikáty a použijeme je k podpisu vámi vytvořené aplikace.

Pro práci potřebujeme: OpenSSL a SignApk.

Nejprve si vyrobíme certifikát a podpisový klíč. Nainstalujte OpenSSL. Během instalace vás instalátor vyzve ke zkopírování komponent do složky Windows, vyberte složku Bin, což bude místo, kam nainstalujete celé OpenSSL.

Nyní otevřete jménem správce systému (to je velmi důležité!) příkazový řádek. Poté na příkazovém řádku přejděte do složky bin, která se nachází ve složce, do které jste nainstalovali OpenSSL (např. C:\OpenSSL\bin\ nebo C:\Program Files\OpenSSL\bin\). Pokud to nevíte, přesun do jiné složky se provede příkazem CD. To znamená, že chcete-li přejít do požadované složky, měli byste spustit následující příkaz:

cd C:\OpenSSL\bin\

Jakmile jste ve složce Bin, můžete přejít přímo k vytvoření certifikátu a klíče.

Krok 1(Provádíme generování klíče o délce 1024 bitů)

Spusťte příkaz:

openssl genrsa -out key.pem 1024

Krok 2(Na základě klíče vytvoříme žádost o certifikát)

Spusťte příkaz:

openssl req -new -key key.pem -out request.pem

V této fázi budete muset zadat své údaje, které vás v certifikátu identifikují.

Krok 3 (Vygenerujte soukromý klíč z certifikátu)

Spusťte příkaz:

openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem

Krok 4(Proveďte generování veřejného klíče)

Spusťte příkaz:

openssl pkcs8 -topk8 -outform DER -in key.pem -informovat PEM -out key.pk8 -nocrypt

V této fázi je vytváření souborů, které potřebujeme k podepsání vašich her a aplikací, dokončeno. pomocí vygenerovaného klíče a certifikátu můžete podepsat tolik her a aplikací na Androidu, kolik chcete.

A teď vlastně začněme podepisovat aplikaci. Rozbalte archiv ze SingApk stažený z výše uvedeného odkazu. Přesuňte se ze složky Bin, kde jsme vytvořili soubory certifikátu a klíče 2: certifikát.pem a klíč.pk8 do složky, kde jste rozbalili SingApk. Windows by měl zobrazit dialog pro nahrazení souboru - nahradit.

Chcete-li nyní podepsat soubor apk jedinečným digitálním podpisem, který jste sami vytvořili, jednoduše přetáhněte soubor apk do sign_APK.bat. Abyste nepřetahovali soubor z jednoho okna do druhého (to není pohodlné), přesuňte svůj apk soubor do složky se SingApk. Po spuštění se ve složce se SingApk objeví soubor apk_signed.apk, což bude vaše podepsaná aplikace nebo hra.

Zobrazení příspěvku: 5 618

android studio poskytuje široké možnosti jak pro vývoj aplikací, tak pro zvýšení automatizace a komfortu při programování.

Pokud používáte systém sestavení gradle pro vytváření vlastních aplikací můžete také nastavit několik možností pro vytváření podpisů pro vaše aplikace.

Pravděpodobně nebudete chtít zveřejňovat své podpisové klíče, hesla a uživatelská jména ve veřejném (nebo dokonce soukromém) úložišti. Proto můžete definovat klíč, heslo a uživatelské jméno jako vlastnosti v samostatném souboru.

Než začnete podepisovat aplikaci, musíte vytvořit novou vlastnost v souboru gradle.properties. Nazvěme to klíče.repo a jako hodnotu zadejte cestu ke složce, kde bude následně umístěno úložiště klíčů a soubor s vlastnostmi (např. C:/Users/UserName/.signing).

Keys.repo=C:/Users/UserName/.signing

Poté musíte vytvořit tuto složku nebo, pokud jste zadali existující, ji otevřít. Je třeba vytvořit soubor YourProjectName.properties, do kterého se zapíše cesta k úložišti klíčů, alias klíče a heslo jako vlastnosti v následujícím tvaru.

RELEASE_STORE_FILE=/YourProjectName/KeyStoreName.jks RELEASE_STORE_PASS=****** RELEASE_ALIAS=KeyAlias ​​​​RELEASE_KEY_PASS=******

Jak vytvořit úložiště klíčů?

Pokud nemáte úložiště klíčů, můžete si ho snadno vytvořit pomocí aplikace Android Studio. Chcete-li to provést, vyberte položku nabídky Stavět -> Vygenerovat podepsaný soubor APK.

V zobrazeném okně klikněte na Vytvořit nový... V důsledku toho se otevře okno, ve kterém můžete určit, kde se bude úložiště klíčů nacházet (pro tuto lekci je lepší okamžitě vybrat cestu, kterou jste zadali v YourProjectName.properties v majetku RELEASE_STORE_FILE), stejně jako údaje o klíči.

Poté musíte vytvořit složku YourProjectName a přeneste tam požadovaný soubor úložiště klíčů.

Nyní můžete přejít přímo k procesu podepisování. Chcete-li to provést, musíte ve svém projektu otevřít soubor build.gradle(nachází se ve složce aplikace). Uvnitř v bloku android musíte přidat následující kód.

SigningConfigs ( ladění ( /* zde žádná změna */ ) vydání ( if (project.hasProperty("Keys.repo")) ( def projectPropsFile = file(project.property("Keys.repo") + "/YourProjectName.properties " ) if (projectPropsFile.exists()) ( Properties props = new Properties() props.load(new FileInputStream(projectPropsFile)) storeFile file(file(project.property("Keys.repo") + props["RELEASE_STORE_FILE"] ) ) storePassword props["RELEASE_STORE_PASS"] keyAlias ​​​​props["RELEASE_ALIAS"] keyPassword props["RELEASE_KEY_PASS"] ) ) else ( println "====================== = ==================================" println " - Nakonfigurujte prosím prostředí kompilace vydání - např. v ~/. podpisový adresář" println "============================================== ========" )))

Jaká jsou podpisová schémata?

Existují dvě schémata pro získání podpisu APK: v1 JAR a v2 Úplný soubor APK.

V prvním případě podepište SKLENICE-file, což je tradiční způsob podepisování. Podpis v1 nechrání některé části souboru APK, jako jsou metadata ZIP. Ověřovatel APK si musí poradit se spoustou nedůvěryhodných (dosud neověřených) datových struktur a následně nepodepsaná data zahodit, čímž ponechává velký prostor pro útok. Kromě toho musí ověřovatel APK dekomprimovat všechny komprimované záznamy, což zabírá spoustu času a paměti. K vyřešení těchto problémů bylo vyvinuto druhé schéma v2 Full APK.

Schéma v2 bylo představeno v Android 7.0 Nougat (API 25) a funguje od verze Android Studio 2.2 a Plugin Android Gradle 2.2. Toto schéma poskytuje rychlejší instalaci aplikace a dobrou ochranu před neoprávněnými změnami souboru APK. Obsah APK je hašován a podepsán a poté přijat Blok podpisu APK vložen do APK.

Během ověřování schéma v2 považuje soubor APK za blob a provádí ověření podpisu na celém souboru. Jakákoli úprava souboru APK, včetně úprav metadat ZIP, zneplatní podpis. Tato forma ověření je mnohem rychlejší a umožňuje odhalit více neoprávněných úprav.

Nový formát je zpětně kompatibilní, takže soubory APK podepsané novým schématem lze nainstalovat na starší zařízení (která budou nový podpis jednoduše ignorovat), pokud jsou tyto soubory APK také podepsány schématem v1.

Podepisování standardně používá obě schémata, takže aplikace lze instalovat na libovolné zařízení. V případě potřeby však můžete podepisování v1 nebo v2 zakázat. Chcete-li to provést, ve výše uvedeném kódu v bloku uvolnění stačí přidat následující řádky.

V1SigningEnabled false

V2SigningEnabled false

Je také důležité poznamenat, že před podepsáním se schématem v2 se musíte podepsat pomocí schématu v1, protože soubor APK neprojde verzí 2, pokud je podepsán pomocí dalších certifikátů poté, co byl podepsán pomocí schématu v2.

Po přidání kódu uveďte tento kód do bloku typy sestavení uvnitř uvolnění. Například:

BuildTypes ( vydání ( minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" signingConfig signingConfigs.release) )

Nyní můžete bezpečně v položce menu Stavět Vybrat Sestavit APK, který předtím změnil typ sestavy z ladit na uvolnění. Jak vidíte, tato metoda je pohodlná v tom, že je automatická, stačí ji nakonfigurovat pouze jednou a vaše úložiště klíčů může být v bezpečí.

V článku jsou snímky obrazovky, kdy se obchod s aplikacemi jmenoval „Android Market“. Již vyrostla generace koček, která toto jméno nikdy neslyšela. Ale obecný princip se nezměnil. Odešel do historie. Nemohu se znovu zaregistrovat, abych mohl pořídit nové snímky obrazovky.

Jelikož máme obavy, budeme cvičit na kočkách. Vezměme si například příklad z článku a zkusme jej dát na Google Play. Pokud vše klapne, bude to jednodušší.

Než budete pokračovat dále, ujistěte se, že máte připravené vlastní ikony aplikací a název programu. Bude velmi zvláštní vidět v obchodě s aplikacemi program se standardní ikonou a názvem „HelloWorld“. A také zkontrolujte všechny položky v souboru manifestu.

Krok první. On je nejtěžší

Každá aplikace odeslaná do úložiště musí mít podepsaný certifikát. Certifikát vám umožňuje identifikovat se jako autor programu. A pokud se někdo pokusí odeslat program se stejným názvem, jako máte vy, bude zamítnut kvůli konfliktu názvů. Název aplikace je úplný název balíčku.

Když spustíte své aplikace na emulátoru nebo telefonu, vývojové prostředí automaticky podepíše program ladicím certifikátem. Ladicí certifikát není vhodný pro distribuci prostřednictvím obchodu a aplikaci musíte podepsat vlastním unikátním certifikátem. Je to zdarma, bez registrace a SMS.

Pojďme vytvořit podepsaný soubor APK, což je něco jako spustitelný soubor notepad.exe na Windows. Pokud máte otevřené vývojové prostředí Android Studio, vyberte z nabídky stavět | Vygenerovat podepsaný soubor APK....

Zobrazí se dialogové okno průvodce, které je potřeba vyplnit údaji.

V prvním poli zadejte cestu k úložišti klíčů. Pokud jste již dříve museli vytvářet programy, včetně programu Eclipse, můžete pomocí tlačítka určit existující úložiště Vyberte stávající.... Pokud vytváříte úložiště poprvé, vyberte tlačítko Vytvořit nový.... Objeví se nové dialogové okno.

V prvním poli je třeba pomocí tlačítka vybrat složku ... a zadejte název souboru úložiště, který bude mít příponu jks.

Nyní vytvoříte klíč pro aplikaci. V terénu Přezdívka(Přezdívka) zadejte název klíče, kterému rozumíte vy i kočky. Není nutné vytvářet alias pro každou aplikaci, můžete použít jeden alias pro své aplikace a samostatné aliasy pro vlastní aplikace.

Musíte také vytvořit heslo pro klíč a potvrdit ho.

Klíč je určen na 25 let. Pole Platnost (roky) ponechte jej beze změny (pokud nemáte dobré důvody pro opak).

Na závěr vyplňte údaje o sobě.

Po vyplnění polí se vrátíte do úplně prvního okna průvodce.

Klikněte na tlačítko další a v dalším okně zadejte další heslo pro přístup k databázi hesel.

Tento krok možná nemáte. Může se zobrazit, pokud jste zaškrtli možnost „Zapamatovat heslo“. Podrobnosti si nepamatuji, na to přijdeš sám.

Posledním krokem je stisknutí tlačítka Dokončit.

To býval poslední krok. Nyní jsou zde nová zaškrtávací políčka V1 (podpis Jar) a V2 (úplný podpis souboru APK). Zaškrtněte alespoň první možnost V1- to odpovídá starému způsobu. Druhá metoda je považována za bezpečnější z hlediska hackingu a lze ji podle vašeho uvážení použít pro pozdější API (viz níže).

V důsledku složitých manipulací s dialogovými okny budete mít dlouho očekávaný APK - vaše kouzlo, které vám otevře dveře do světa bohatství a štěstí.

Stisknutí tlačítka Zobrazit v Průzkumníku, spustíte Průzkumníka souborů na vašem počítači se složkou obsahující podepsaný soubor.

Buďte opatrní s vygenerovaným klíčem. Je to on, kdo zaručuje, že novou verzi programu píšete vy. Pokud tedy vytvořený klíč ztratíte, budete muset program nahrát pod jiným názvem s novým klíčem.

Studio poskytuje režim pro automatické vytváření podepsané aplikace. Klikněte pravým tlačítkem na složku aplikace a v kontextové nabídce vyberte Otevřete Nastavení modulu. Vyberte sekci aplikace v sekci Moduly. Vyberte kartu Podepisování. Klikněte na tlačítko plus a vyplňte pole.

Přejděte na kartu Typy sestavení a zvolte montáž uvolnění. V rozevíracím seznamu Konfigurace podepisování vyberte nově vytvořenou konfiguraci. Ve výchozím nastavení má název config.

Klikněte OK uložit výsledky.

Můžete také podepisovat aplikace přes příkazový řádek bez účasti studia, pokud jste perverzní. Můžete si přečíst dokumentaci k tomuto tématu.

v2 Úplný soubor APK

V roce 2017 Google trochu změnil proces podepisování. Nyní existují dvě schémata pro získání podpisu APK: v1 JAR a v2 Full APK.

Podpis v1 (který existuje od začátku) nechrání některé části souboru APK, jako jsou metadata ZIP. Ověřovatel APK si musí poradit s velkým množstvím nedůvěryhodných datových struktur a následně vyřadit nepodepsaná data, což ponechává velký prostor pro útok. Kromě toho musí ověřovatel APK dekomprimovat všechny komprimované záznamy, což zabírá spoustu času a paměti. K vyřešení problémů byl vyvinut nový v2 Full APK, se kterým se setkáte při podepisování vaší aplikace.

Schéma v2 funguje na Androidu 7.0 Nougat (API 25). Schéma poskytuje rychlejší instalaci aplikace a dobrou ochranu před neoprávněnými změnami souboru APK. Obsah souboru APK je hašován a podepsán a následně je do souboru APK vložen výsledný blok podpisu souboru APK.

Nový formát je zpětně kompatibilní, takže soubory APK podepsané novým schématem lze nainstalovat na starší zařízení (která budou nový podpis jednoduše ignorovat), pokud jsou tyto soubory APK také podepsány schématem v1.

Ve starších aplikacích nechávám zaškrtávací políčko u první verze. Možná vás později donutí násilně přejít na druhou verzi. Je důležité si uvědomit, že před podepsáním se schématem v2 se musíte podepsat pomocí schématu v1, protože soubor APK neprojde schématem v2, pokud je podepsán pomocí dalších certifikátů poté, co byl podepsán pomocí schématu v2.

Přísně vzato můžete na svůj web umístit soubor apk a všichni vaši návštěvníci si jej mohou stáhnout a nainstalovat do svých telefonů. Ale to je v naší době nanotechnologií jaksi nedůstojné. Pojďme tedy k dalšímu kroku.

Krok dva. Musíte Fedyo, musíte

Další postup je velmi nepříjemný. Musíte dát 25 evergreenů cizímu člověku. Abyste se tolik neurazili, tak se této operaci říkalo registrační poplatek. Budete potřebovat kreditní kartu s uvedenou částkou. Upozorňujeme, že Visa Electron a tím spíše slevová karta sítě prodejen Perekrestok vám nebude vyhovovat. Pokud již požadovanou kartu máte, pak tento odstavec přeskočte. Zbytku mohu poradit, ať si pořídí peněženku QIWI a pořídí si tam virtuální kartu. Přesně to jsem udělal, protože se zdráhalo jít do banky a psát nejrůznější výpisy.

Automatická aktualizace

Pokud jste vytvořili novou verzi programu opravou různých chyb a přidáním nových fotografií kočky, musíte zvýšit číslo verze v manifestu o jednu (atribut kód verze) a vyměnit název verze pro sebe (zobrazí se na stránce Google Play). V nejnovějších verzích studia tyto vlastnosti nyní nejsou v manifestu, ale v souboru build.gradle modulu vaší aplikace. Nahrajte novou verzi na Google Play a uživatelé obdrží aktualizaci automaticky.

Sledujte recenze

Nainstalujte si do zařízení aplikaci Google Play Developer Console, aby vám neunikla nová recenze vaší aplikace. Můžete také zobrazit statistiky.

Změna hesla trezoru a aliasu klíče

Už několik let jsem to nemusel použít, takže nevím, jestli jsou tyto informace aktuální.

Řekněme, že jste prodali svůj program se zdrojovými kódy jiné společnosti. Aby mohla odesílat aktualizace programu, musí společnost podepsat aplikaci stejným klíčem, který jste podepsali vy. V opačném případě bude program považován za jiný a název balíčku bude muset být změněn. Pak ale staří uživatelé nebudou moci získat aktualizace.

Pokud ale všechny své programy podepíšete například stejným klíčem a heslem kočka kočka, pak může společnost podepsat vaše další aplikace stejným klíčem umístěním jejich programů se stejným názvem balíčku a vy nebudete nikomu nic dokazovat.

Proto je potřeba se postarat o změnu klíče pro převod na nového majitele.

Předpokládejme, že naše úložiště má strukturu:

Název úložiště klíčů: old.keystore Heslo úložiště klíčů: cat1 Alias: my_alias Alias ​​​​heslo: cat2

Vytvořte kopii svého trezoru a uložte ji jinam. To mělo být provedeno při prvním vytvoření, protože pokud ztratíte úložiště, nebudete moci během aktualizace obnovit přístup ke svým programům.

Znovu vytvořte kopii svého úložiště a přejmenujte jej, např. new.keystore. Budeme s ním pracovat.

Spusťte nástroj klíčový nástroj s příkazem:

Keytool -storepasswd -keystore new.keystore

Budete vyzváni k zadání aktuálního hesla a poté k zadání nového a zopakování hesla. Přibližně takto:

Zadejte heslo úložiště klíčů: Nové heslo úložiště klíčů: Znovu zadejte nové heslo úložiště klíčů:

První část úlohy byla dokončena, heslo trezoru bylo změněno.

Pokud chcete změnit také heslo pro alias, spusťte obslužný program znovu pomocí příkazu:

Keytool -keypasswd -keystore new.keystore -alias my_name

Budete požádáni o zadání vašeho aktuálního hesla k trezoru (vaše nové heslo) a poté aliasového hesla. Můžete zadat nové heslo, které nahradí staré heslo.

Zadejte heslo úložiště klíčů: Zadejte heslo klíče pro

Heslo aliasu změněno.

Pokud vám změna hesla nestačí a chcete změnit jméno aliasu (možná jste použili jméno své oblíbené kočky, proč by o tom měli vědět ostatní), tak pokračujeme v práci.

Spustíme příkaz:

Keytool -changealias -keystore new.keystore -alias my_alias -destalias my_new_alias

Budete požádáni o zadání hesla trezoru, poté hesla pro nový alias (aktuální heslo), poté nového hesla a zopakujte jej. Název aliasu bude změněn.

Takže nám trvalo tři kroky, než jsme vytvořili nové úložiště a alias, který jsme přenesli na cizího člověka. Nový vlastník by měl udělat totéž, aby se ujistil, že nevyužijete změněné soubory. To je však jeho problém.

Hotovou přihlášku podepisujeme

Takový případ se může objevit, když ztratíte zdrojový kód a máte pouze APK. To s největší pravděpodobností platí pro piráty, kteří znovu podepisují jiné aplikace (nedělejte to s programy jiných lidí).

Nejprve změňte příponu z apk na zip. Smažte složku v archivu META-INF. Obnovte rozšíření. Smazali jste starý podpis.

Nyní je potřeba aplikaci podepsat novým klíčem. Zadejte příkaz.

jarsigner -keystore keystore-file-file.jks -storepass keystore_password -keypass alias_password --signedjar signature-apk-file.apk apk-file.apk alias_name

V případě úspěchu obdržíte zprávu, že aplikace je podepsána. Dále provedeme další příkaz.

ANDROID_SDK_PATH/build-tools/LAST_BUILD_TOOLS_VERSION/zipalign -v 4 signature-apk-file.apk aligned-apk-file.apk

Výsledkem by měl být soubor APK podepsaný novým klíčem. Sám jsem to nikdy nepoužil.

Úložiště klíčů Google

V roce 2017 přidal Google novou možnost ukládání klíčů do cloudu. Hlavním rozdílem je, že aplikaci podepisujete speciálním klíčem pro nahrávání, který Google ověří a odstraní a nahradí jej původním podpisovým klíčem aplikace, který jste poskytli.

Umožňuje vám spravovat podpisové klíče aplikací pro nové i publikované aplikace, které Google uloží do vlastního úložiště klíčů. Chcete-li se k tomuto programu připojit, musíte se přihlásit k jeho odběru ve službě Google Play Console. Za zmínku stojí, že již nebude možné se z něj odhlásit.

Tato metoda je velmi užitečná – pokud dojde ke ztrátě úložiště klíčů, Google Play App Signing vám umožní resetovat klíč a nainstalovat nový. Aplikaci nemusíte znovu publikovat s novým názvem balíčku a klíčem.

Dodatečné čtení

Android-keystore-password-recover od MaxCamillo - Pokud jste ztratili heslo, zkuste použít tento nástroj. Sám jsem to nepoužil, tak neprozradím.

Poslední aktualizace: 30.10.2015

Po vytvoření aplikace, jejím otestování a odladění můžeme začít publikovat. Podstatou publikace je vytvoření souboru s příponou .apk, který bude představovat aplikaci, a její následné umístění na Google Play Market nebo jiných externích stránkách. Ve výchozím nastavení je během procesu ladění a vytváření aplikace soubor apk již vytvořen a můžeme jej najít ve složce projektu podél cesty Název_projektu\app\build\outputs\apk. Ve výchozím nastavení je soubor pojmenován app-debug.apk a představuje verzi ladění.

Ale pro úplné zveřejnění tohoto souboru nemusí stačit. A ještě musíme udělat nějakou přípravu projektu na vydání. Chcete-li to provést, zadejte v souboru manifestu pro prvek Atributy android:versionCode a android:versionName jsou nastaveny. Také v souboru manifestu prvek nesmí obsahovat atribut android:debuggable

Navíc si v této fázi můžete nastavit ikonu aplikace, která se bude zobrazovat na domovské obrazovce gadgetu, název aplikace (atribut android:label na prvku) a také nastavit licenční ujednání.

Soubor manifestu musí také definovat název balíčku (atribut package prvku ), který bude později použit pro aplikaci. Ve výchozím nastavení při vývoji v Android Studio začínají balíčky aplikací s com.příklad. Tento název byste neměli opouštět, protože název balíčku bude sloužit jako jedinečný identifikátor vaší aplikace. Například níže v mém případě je název balíčku „com.maverics.eugene.telephonelist“:

Navíc, pokud jsou v souborech s kódem Java, název balíčku na začátku souboru musí také odpovídat balíčku aplikace.

Nastavení požadavků

Požadavky na API můžete nastavit také během fáze předběžného vydání. Například naše aplikace má určitou minimální verzi operačního systému Android, takže můžeme nastavit odpovídající atributy prvku v souboru manifestu

    android:minSdkVersion - minimální verze Androidu

    android:targetSdkVersion - optimální verze API

    android:maxSdkVersion - maximální verze systému

Řekněme například, že minimální verze Jelly Beans je 4.1.2 a optimální verze je KitKat 4.4.4:

//.............................

Podpis aplikace

Když je vše připraveno, musí být aplikace pro Android podepsána certifikátem, díky kterému lze identifikovat autora aplikace. Když testujeme aplikaci instalací prostřednictvím Android Studio na zařízení, je automaticky podepsána. Abychom však vytvořili verzi vydání, musíme provést další sérii akcí.

Při vytváření certifikátu mějte na paměti, že při aktualizaci aplikace systém porovná certifikáty staré a nové verze. A aktualizace proběhne, pokud se certifikáty obou verzí shodují. Pokud je ale nová verze podepsána novým certifikátem, bude aplikace považována za zcela novou, nesouvisející se starou verzí a představující zcela jinou aplikaci. V tomto případě, aby ji bylo možné nainstalovat, bude muset mít nová verze jiný název balíčku než ta stará.

Nejprve v Android Studiu vyberte z nabídky Build -> Generate Signed APK. Otevře se okno průvodce:

Klikněte na tlačítko Vytvořit nový.... Poté se otevře okno pro vytvoření klíče:

Do pole Cesta úložiště klíčů zadejte cestu k souboru síťového certifikátu, který má být vytvořen. Pokud zadaná složka neexistuje, vytvořte ji nebo definujte existující složku.

Zadejte heslo do pole Heslo/Potvrdit.

Do pole Alias ​​zadejte alias. Můžete zadat libovolný název.

Do pole Jméno a příjmení zadejte jméno a příjmení. A pak napíšeme jednotku, organizaci, město, zemi a kód země.

Na konci klikněte na OK.

Poté se automaticky aktualizuje první okno:

Poslední okno nám ukáže cestu k adresáři, kde se bude nacházet podepsaná apk aplikace ve verzi vydání. Klikněte na Dokončit.

Nyní v zadané cestě můžete najít podepsanou apk, která bude mít název app-release.apk:

Můžeme přejmenovat soubor, ponechat jeho příponu a nahrát jej na Play Market nebo na jakýkoli web, nebo jej stáhnout přímo do vašeho mobilního zařízení. Po stažení do telefonu / tabletu na něj stačí kliknout a pomocí standardního instalátoru balíčků se aplikace nainstaluje. Pravda, zde je také potřeba vzít v úvahu, že pokud instalujeme aplikaci ne z Play Marketu, tak v nastavení musíme povolit instalaci z jiných zdrojů - Zabezpečení-> Neznámé zdroje (Povolit instalaci aplikací z jiných zdrojů)