Potpisivanje .apk datoteke pomoću uslužnog programa jarsigner. Kako ispravno potpisati APK igru ​​ili aplikaciju na Androidu Kako promijeniti potpis Android aplikacije

Pošto sam sam proguglao pitanje kako potpisati apk fajl?", znam da nije tako lako pronaći stvarno ispravnu i razumljivu instrukciju u svemu. Zato sam odlučio sam napisati materijal o tome kako pravilno potpisati svoj program ili igru ​​na Androidu.

Kao što je sada poznato digitalni potpis, vaša kreacija se ne može plasirati na tržište, a ovo je već ozbiljno.Mnogi mladi Android programeri su primijetili da takoreći početnici potpuno zaborave da potpišu svoju aplikaciju i pokušaju nešto kasnije da urade s njom i svi se pitaju zašto to ne rade Nije moguće izvršiti ovu ili onu radnju sa njihovom APK datotekom.

Dakle, nemojmo to odvlačiti i početi odmah s time kako možete potpisati svoju apk datoteku i kako je zapravo koristiti za postizanje željenog rezultata.

Ova metoda je najispravnija od svih navedenih, pa ćemo je opisati u ovom materijalu. Napravit ćemo vlastite ključeve s našim podacima i certifikatima i koristiti ih za potpisivanje aplikacije koju ste kreirali.

Za rad su nam potrebni: OpenSSL i SignApk.

Prvo, napravimo certifikat i ključ za potpisivanje. Instalirajte OpenSSL. Tokom instalacije, instalater će od vas zatražiti da kopirate komponente u Windows folder, odaberite folder Bin, koji će biti mjesto gdje ćete instalirati cijeli OpenSSL.

Sada otvorite u ime administratora sistema (ovo je veoma važno!) komandnu liniju. Zatim, u komandnoj liniji, idite u fasciklu bin, koja se nalazi u fascikli u koju ste instalirali OpenSSL (na primer, C:\OpenSSL\bin\ ili C:\Program Files\OpenSSL\bin\). Ako ne znate, prelazak u drugi folder se vrši pomoću naredbe cd. To jest, da biste otišli u željeni folder, trebali biste pokrenuti sljedeću naredbu:

cd C:\OpenSSL\bin\

Kada ste u fascikli Bin, možete nastaviti direktno sa kreiranjem sertifikata i ključa.

Korak 1(Izvodimo generiranje ključeva dužine 1024 bita)

Pokrenite naredbu:

openssl genrsa -out key.pem 1024

Korak 2(Na osnovu ključa kreiramo zahtjev za certifikat)

Pokrenite naredbu:

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

U ovoj fazi, morat ćete unijeti svoje podatke koji će vas identificirati u certifikatu.

Korak 3 (Generirajte privatni ključ iz certifikata)

Pokrenite naredbu:

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

Korak 4(Izvršite generiranje javnog ključa)

Pokrenite naredbu:

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

U ovoj fazi, kreiranje datoteka koje su nam potrebne za potpisivanje vaših igara i aplikacija je završeno. koristeći generirani ključ i certifikat, možete potpisati koliko god želite igrica i aplikacija na Androidu.

A sada, zapravo, krenimo s potpisivanjem aplikacije. Raspakujte arhivu sa SingApk-a preuzetu sa gornje veze. Premjestite se iz mape Bin u kojoj smo kreirali certifikat i ključ 2 fajla: certifikat.pem i key.pk8 u fasciklu u koju ste raspakovali SingApk. Windows bi trebao prikazati dijalog zamjene datoteke - zamijeni.

Sada, da biste potpisali apk datoteku jedinstvenim digitalnim potpisom koji ste sami napravili, jednostavno prevucite svoju apk datoteku na sign_APK.bat. Kako ne biste prevlačili datoteku iz jednog prozora u drugi (ovo nije zgodno), premjestite svoju apk datoteku u mapu sa SingApk-om. Nakon izvršenja, datoteka će se pojaviti u folderu sa SingApk apk_signed.apk, koja će biti vaša potpisana aplikacija ili igra.

Sa funkcijom prijavljivanja u aplikaciju Google Play Google može upravljati ključem za potpisivanje vaše aplikacije i osigurati ovaj ključ i koristiti ga za potpisivanje vaših APK-ova za distribuciju. Ova metoda skladištenja će vas zaštititi u slučaju gubitka ili neovlaštenog pristupa ključu.

Bitan! Da biste koristili Android App Bundle (preporučeni format za objavljivanje aplikacija), morate se učlaniti u program Google Play App Signing prije nego što otpremite App Bundle na Play konzolu.

Vlasnici naloga i korisnici sa dozvolama za globalno upravljanje proizvodnjom koji su prihvatili Uslove korišćenja mogu se registrovati. Možete registrirati samo jednu po jednu aplikaciju u Google Play programu za potpisivanje aplikacija.

Principi rada

Kada koristite funkciju potpisivanja aplikacija na Google Playu, vaši ključevi se pohranjuju na istoj infrastrukturi kao i Google ključevi i zaštićeni su posebnom uslugom za upravljanje ključevima. Detaljne informacije o Googleovoj tehničkoj infrastrukturi možete pronaći u Google Cloud sigurnosnoj dokumentaciji.

Android aplikacije su potpisane privatnim ključem. Uz svaki takav ključ povezan je javni certifikat koji uređaji i usluge mogu koristiti za provjeru sigurnosti aplikacija i njihovih ažuriranja. Samo ona ažuriranja se instaliraju na uređajima čiji potpis odgovara potpisu instaliranu aplikaciju. Ako dopustite Googleu da upravlja vašim ključem za potpisivanje aplikacije, proces je sigurniji.

Bilješka. Nije obavezno koristiti funkciju potpisivanja aplikacija na Google Playu. Možete otpremati APK-ove i upravljati vlastitim ključevima bez korištenja App Bundle-a. Međutim, ako izgubite pristup spremištu ključeva ili ono bude kompromitirano, nećete moći ažurirati svoju aplikaciju i morat ćete je ponovo objaviti s drugim imenom paketa.

Opisi ključeva, predmeta i alata
Uslovi Opis
Ključ za potpisivanje aplikacije

Ključ koji koristi Google Play za potpisivanje APK fajlova koji se isporučuju na uređaj korisnika. Kada se prijavite za program za potpisivanje aplikacija na Google Playu, možete prenijeti postojeći ključ za potpisivanje ili dopustiti da Google generiše novi.

Preuzmi ključ

Postoje dva načina za generiranje ključa za otpremanje:

  • Koristite ključ za potpisivanje aplikacije. Ako ste dozvolili Googleu da generiše ključ za potpisivanje aplikacije kada ste se prijavili za program, ključ za otpremanje će biti ključ koji ste koristili za potpisivanje prvog izdanja aplikacije.
  • Koristite poseban ključ za otpremanje. Ako ste poslali vlastiti ključ za potpisivanje aplikacije kada ste se prijavili za program, možete generirati novi ključ za otpremanje radi sigurnosti. Ako to ne želite učiniti, koristite ključ za potpisivanje aplikacije kao ključ za preuzimanje za potpisivanje novih izdanja.
Certifikat (.der ili .pem)

Certifikat koji sadrži javni ključ i dodatne informacije o svom vlasniku. Certifikat javnog ključa omogućava svima da znaju ko je potpisao App Bundle ili APK datoteku. Ovaj certifikat se može dijeliti jer ne uključuje privatni ključ.

Za registraciju ključeva kod dobavljača API-ja, možete preuzeti javni certifikat za ključ za potpisivanje aplikacije na stranici Potpisivanje aplikacije u Play konzoli. Certifikat javnog ključa može se dijeliti sa svima jer ne uključuje privatni ključ.

Otisak prsta sertifikata

Kratak i jedinstven identifikator za certifikat. Otisak palca, zajedno sa imenom paketa, često traže API provajderi kako bi omogućili pristup svojim uslugama.

MD5, SHA-1 i SHA-256 otisci prstiju sertifikata za otpremanje i potpisivanje aplikacije mogu se naći na Potpisivanje aplikacije u Play konzoli. Možete dobiti i drugu vrstu digitalnog otiska prsta. Da biste to učinili, preuzmite originalni certifikat u DER formatu na istoj stranici.

Java skladište ključeva (.jks ili .keystore) Čuvanje sigurnosnih certifikata i privatnih ključeva.
PEPK Tool

Alat za izvoz privatnih ključeva iz Java skladišta i njihovo šifriranje za podnošenje na Google Play.

Nakon što Googleu dostavite svoj ključ za potpisivanje aplikacije, odaberite izvoz i prijenos vlastitog ključa (i njegov javni certifikat ako je potrebno), a zatim slijedite upute za preuzimanje i korištenje alata. Također možete preuzeti, pregledati i koristiti PEPK alat otvorenog koda.

Proces potpisivanja aplikacije

Možete otpremiti APK datoteke potpisane originalnim ključem za potpisivanje aplikacije prije ili nakon potpisivanja aplikacije na Google Play.

Ako prelazite na Android App Bundle, možete ih testirati u testnim verzijama i koristiti postojeće APK-ove u produkciji. Evo kako to funkcionira:

  1. Potpisujete App Bundle ili APK i otpremate ga na Play konzolu.
  2. Proces potpisivanja aplikacije ovisi o tome šta preuzimate.
    • App Bundle. Google optimizira APK-ove u App Bundleu, a zatim ih potpisuje ključem za potpisivanje aplikacije.
    • APK fajl potpisan ključem za otpremanje. Google provjerava vaš potpis, uklanja ga i ponovo potpisuje APK-ove pomoću ključa za potpisivanje aplikacije.
    • APK fajl potpisan ključem za potpisivanje aplikacije. Google potvrđuje potpis.
  3. Google isporučuje potpisane APK fajlove korisnicima.

Kako se učlaniti u Google Play program za potpisivanje aplikacija

Nove aplikacije

Korak 1: Kreirajte ključ za otpremanje

  1. Kreirajte ključ za otpremanje slijedeći upute.
  2. Potpišite novi APK fajl ključem za otpremanje.

Korak 2: Pripremite izdanje

  1. slijedeći upute.
  2. Nakon što odaberete vrstu verzije, konfigurirajte svoje opcije potpisivanja aplikacije pod "Neka Google osigura i upravlja vašim ključem za potpisivanje aplikacije."
  3. Ako kliknete Nastavi, generirani ključ će postati ključ za prijenos koji će se koristiti za potpisivanje budućih izdanja. Također možete birati između sljedećeg Napredne postavke:
    • Koristite jedan ključ za različite aplikacije na nalogu programera (opcija 2).
    • Prenesite ključ za potpisivanje postojeće aplikacije (opcija 2, 3 i 4) odabirom načina izvoza i otpremanja koji vam najviše odgovara. Nakon učitavanja ključa za potpisivanje aplikacije i njegovog javnog certifikata, kao njega možete koristiti ključ za potpisivanje aplikacije.

Bilješka. Da biste nastavili, morate prihvatiti Uslove korištenja i prijaviti se u Program potpisivanja aplikacija.

Korak 3: Registrirajte svoj ključ za potpisivanje aplikacije kod dobavljača API-ja

Ako vaša aplikacija koristi API, tada ćete za autentifikaciju najvjerovatnije morati registrirati certifikat ključa kojim Google potpisuje vašu aplikaciju. Da biste pronašli certifikat:

  1. Prijavite se na Play konzolu.
  2. Odaberite aplikaciju.
  3. Iz menija na lijevoj strani odaberite Upravljanje izdanjima > Potpisi aplikacija.
    • Ako dobavljač API-ja zahtijeva drugu vrstu otiska prsta, možete preuzeti originalni certifikat u DER formatu i konvertirati ga po potrebi pomoću odgovarajućih alata.
Objavljene aplikacije

Korak 1: Prijavite se za Google Play program za potpisivanje aplikacija

  1. Prijavite se na Play konzolu.
  2. Odaberite aplikaciju.
  3. Iz menija na lijevoj strani odaberite Upravljanje izdanjima > Potpisi aplikacija.
  4. Ako je potrebno, pročitajte Uvjete korištenja i kliknite Da prihvatim.

Korak 2 Pošaljite originalni ključ Googleu i generirajte ključ za otpremanje

  1. Pronađite originalni ključ za potpisivanje aplikacije.
  2. Prijavite se na Play konzolu.
  3. Odaberite aplikaciju.
  4. Iz menija na lijevoj strani odaberite Upravljanje izdanjima > Potpisi aplikacija.
  5. Prenesite svoj postojeći ključ za potpisivanje aplikacije na način koji najbolje odgovara vašem procesu izdavanja.
  1. i otpremite certifikat na Google Play.
    • Također možete koristiti ključ za potpisivanje aplikacije kao ključ za otpremanje.
  2. Kopirajte otiske prstiju (MD5, SHA-1 i SHA-256) certifikata za potpisivanje aplikacije.
    • U svrhu testiranja, možda ćete morati registrirati certifikat ključa za otpremanje kod API provajdera koristeći otisak palca i ključ za potpisivanje aplikacije.

Korak 4: Potpišite sljedeće ažuriranje vaše aplikacije ključem za otpremanje

Objavljena ažuriranja aplikacija moraju biti potpisana ključem za preuzimanje.

Kako generirati ključ za otpremanje i ažurirati skladišta ključeva

Možete generirati ključ za otpremanje kada se prijavite za program za potpisivanje aplikacija na Google Playu ili ga možete generirati kasnije u odjeljku Upravljanje izdanjima > Potpisi aplikacija.

Da kreirate ključ za otpremanje, slijedite ove korake:

  1. Slijedite upute na web lokaciji Android Developers. Čuvajte ključ na sigurnom mjestu.
  2. Izvezite certifikat ključa za pokretanje u PEM formatu. Zamijenite sljedeće argumente podvlakama:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Kada se to od vas zatraži tokom procesa izdavanja, otpremite certifikat da ga registrujete na Google-u.

Ako koristite ključ za otpremanje:

  • Ključ za otpremanje se registruje samo na Google-u radi provjere identiteta kreatora aplikacije.
  • Vaš potpis se uklanja sa svih otpremljenih APK-ova prije nego što dođu do korisnika.
Ograničenja
  • Ključ za otpremanje mora koristiti RSA enkripciju i mora biti veličine najmanje 2048 bita.
  • DSA i EC ključevi i RSA ključevi manji od 2048 bita nisu podržani.
Ažuriranje skladišta ključeva

Nakon što kreirate ključ za pokretanje, provjerite i po potrebi ažurirajte sljedeće lokacije:

  • lokalni sistem;
  • siguran lokalni server (sa raznim listama kontrole pristupa);
  • cloud sistem (sa raznim listama kontrole pristupa);
  • posebne usluge za upravljanje ključevima;
  • Git spremišta.

Kako ažurirati ključ za potpisivanje za nove instalacije aplikacije

U nekim slučajevima možete zatražiti ažuriranje ključa za potpisivanje aplikacije. Novi ključ će se koristiti za potpisivanje novih instalacija i ažuriranja aplikacije, dok će se naslijeđeni ključ koristiti za ažuriranje potpisanih verzija koje su korisnici već instalirali.

Ključ za potpisivanje se može ažurirati samo jednom po aplikaciji. U malo vjerovatnom slučaju da koristite isti ključ za potpisivanje za više aplikacija za pokretanje u istom procesu, ključ se ne može ažurirati.

Trebali biste zatražiti ažuriranje ključa za potpisivanje aplikacije u sljedećim slučajevima:

  • Potreban vam je kriptografski jači ključ.
  • Ključ za potpisivanje aplikacije je kompromitovan.

Bilješka. Zahtjev za ažuriranje ključa za potpisivanje aplikacije na Play konzoli nije povezan sa zamjenom ključa u Androidu P i novijim. Google Play trenutno ne podržava ovu zamjenu ključa.

Važne napomene o ažuriranju ključeva

Prije nego što zatražite ažuriranje ključa, važno je razumjeti koje promjene će to podrazumijevati.

  • Ako koristite isti ključ za potpisivanje za više aplikacija za korištenje istog koda ili podataka, morat ćete ažurirati aplikacije da prepoznaju i nove i stare ključeve.
  • Ako vaša aplikacija koristi API, obavezno registrirajte certifikate za nove i naslijeđene ključeve za potpisivanje aplikacija kod dobavljača API-ja prije nego što ga ažurirate. Sertifikati su dostupni na stranici Potpisivanje aplikacije Play Console.
  • Ako mnogi korisnici vaše aplikacije instaliraju ažuriranja putem mreža za dijeljenje datoteka, moći će instalirati samo ažuriranja potpisana istim ključem kao i aplikacija instalirana na njihovim uređajima. Ako se aplikacije ne mogu ažurirati zbog instaliranu verziju potpisan drugim ključem, korisnici ga mogu deinstalirati i ponovo instalirati kako bi primali ažuriranja.
Zatražite ažuriranje ključa za nove instalacije. Da biste to učinili, slijedite ove korake:
  1. Prijavite se na Play konzolu.
  2. Odaberite aplikaciju.
  3. Iz menija na lijevoj strani odaberite Upravljanje izdanjima > Potpisi aplikacija.
  4. Na kartici "Ažuriraj ključ za potpisivanje za nove instalacije aplikacije" odaberite Zatražite ažuriranje ključa.
  5. Odaberite šta ćete raditi s uređajem.
    • Ovisno o opciji koju odaberete, možda ćete morati kontaktirati podršku da dovršite svoj zahtjev.
  6. Neka Google Play generira novi ključ za potpisivanje aplikacije (preporučeno) ili ga preuzmite.
    • Nakon ažuriranja ključa za potpisivanje aplikacije, ako je ključ bio isti kao ključ za otpremanje, možete nastaviti koristiti stari ključ za potpisivanje aplikacije kao ključ za prijenos ili kreirati novi.
  • Ako ste također objavili svoju aplikaciju izvan Google Playa ili namjeravate to učiniti, možete generirati unaprijed dijeljeni ključ za potpisivanje aplikacije i prenijeti ga na Google kada se prijavite za Google Play program za potpisivanje aplikacija.
  • Da zaštitite svoj račun, uključite verifikaciju u dva koraka za sve račune koji imaju pristup Play konzoli.
  • Nakon što objavite App Bundle u testu ili produkciji, možete otvoriti App Bundle Browser i preuzeti ZIP arhivu koja sadrži sve APK datoteke za određeni uređaj. Ovi APK-ovi su već potpisani ključem za potpisivanje aplikacije. Možete ih instalirati na uređaj iz ZIP arhive pomoću uslužnog programa komandna linija bundletool.
  • Za veću sigurnost, generirajte novi ključ za otpremanje koji se razlikuje od ključa za potpisivanje aplikacije.
  • Ako želite testirati APK potpisan ključem za otpremanje, registrirajte ključ na usluzi ili API-ju koji koristi potpis aplikacije za autentifikaciju (kao što je API za Google Maps ili Facebook SDK).
  • Ako koristite Google API-je, možete registrirati certifikat za prijenos u Google Cloud Console.

Šta učiniti ako je ključ izgubljen ili hakovan

Ako ste izgubili pristup svom privatnom ključu za otpremanje ili je hakiran, pitajte vlasnika računa. Kada kontaktirate podršku, vlasnik naloga mora priložiti datoteku upload_certificate.pem.

Kada tim za podršku registruje novi ključ za otpremanje, primit ćete e-poštu i tada možete ažurirati skladišta ključeva i registrirati ključ kod dobavljača API-ja.

Bitan! Poništavanje ključa za otpremanje ne utiče na ključ za potpisivanje aplikacije koji Google Play koristi za potpisivanje APK fajlova prije nego što se pošalju korisnicima.

Da li je ova informacija bila od pomoći?

Kako se ovaj članak može poboljšati?

Ponekad neke aplikacije na Androidu iz nekog razloga ne odgovaraju korisniku. Primjer su dosadne reklame. I to se tako dešava - svi su dobri u programu, ali samo je prevod u njemu ili kriv, ili potpuno odsutan. Ili, na primjer, program je probni, ali ne postoji način da dobijete punu verziju. Kako promijeniti situaciju?

Uvod

U ovom članku ćemo govoriti o tome kako rastaviti APK s aplikacijom, pogledati njegovu unutrašnju strukturu, rastaviti i dekompilirati bajtkod, a također ćemo pokušati napraviti nekoliko promjena u aplikacijama koje nam mogu donijeti ovu ili onu korist.

Da biste sve ovo uradili sami, trebat će vam barem osnovno znanje jezika Java, na kojem su napisane Android aplikacije, i XML jezika, koji se koristi svuda u Androidu - od opisivanja same aplikacije i njenih prava pristupa do pohranjivanja stringova. koji će biti prikazan na ekranu. Također će vam trebati sposobnost rukovanja specijaliziranim softverom za konzolu.

Dakle, koji je APK paket u kojem se distribuira apsolutno sav softver za Android?

Dekompilacija aplikacije

U članku smo radili samo s rastavljenim kodom aplikacije, međutim, ako unesete ozbiljnije promjene u velike aplikacije, bit će mnogo teže razumjeti smali kod. Srećom, možemo dekompilirati dex kod u Java kod, koji, iako nije originalan i ne može se ponovo kompilirati, mnogo je lakši za čitanje i razumijevanje logike aplikacije. Da bismo to uradili, potrebna su nam dva alata:

  • dex2jar - prevodilac Dalvik bytecode-a u JVM bytecode, na osnovu kojeg možemo dobiti Java kod;
  • jd-gui je sam dekompajler koji vam omogućava da dobijete čitljiv Java kod iz JVM bajtkoda. Alternativno, možete koristiti Jad (www.varanecas.com/jad); iako je prilično star, u nekim slučajevima generiše čitljiviji kod od Jd-gui.

Treba ih koristiti ovako. Prvo pokrećemo dex2jar, navodeći put do apk paketa kao argument:

%dex2jar.sh mail.apk

Kao rezultat toga, Java paket mail.jar će se pojaviti u trenutnom direktorijumu, koji se već može otvoriti u jd-gui-u za pregled Java koda.

Uređivanje APK paketa i njihovo preuzimanje

Paket Android aplikacija je u suštini obična ZIP datoteka koja ne zahtijeva nikakve posebne alate za pregled sadržaja i raspakivanje. Dovoljno je imati arhiver - 7zip za Windows ili konzolu unzip u Linuxu. Ali to je u vezi omotača. Šta je unutra? Unutra, generalno imamo sljedeću strukturu:

  • META-INF/- sadrži digitalni sertifikat aplikacije, koji potvrđuje njenog kreatora, i kontrolne sume fajlova paketa;
  • res/ - različiti resursi koje aplikacija koristi u svom radu, kao što su slike, deklarativni opis interfejsa i drugi podaci;
  • AndroidManifest.xml- opis aplikacije. Ovo uključuje, na primjer, listu potrebnih dozvola, potrebnu verziju Androida i potrebnu rezoluciju ekrana;
  • classes.dex- kompajlirani bajt kod aplikacije za Dalvik virtuelnu mašinu;
  • resursi.arsc- takođe resursi, ali drugačije vrste - posebno stringovi (da, ovaj fajl se može koristiti za rusifikacije!).

Navedene datoteke i direktoriji su, ako ne u svim, onda, možda, u velikoj većini APK-ova. Međutim, postoji još nekoliko manje uobičajenih datoteka/direktorija koje vrijedi spomenuti:

  • imovine- analogni resursi. Glavna razlika je u tome što da biste pristupili resursu, morate znati njegov identifikator, dok se lista sredstava može dobiti dinamički pomoću metode AssetManager.list() u kodu aplikacije;
  • lib- izvorne Linux biblioteke napisane uz pomoć NDK (Native Development Kit).

Ovaj direktorij koriste proizvođači igara da tamo stave svoj motor za igre napisan na C/C++, kao i kreatori aplikacija visokih performansi (na primjer, google chrome). Shvatio sam uređaj. Ali kako doći do paketa aplikacije od interesa? Budući da nije moguće dobiti APK fajlove sa uređaja bez rutiranja (oni se nalaze u / data / app direktorijumu), a rukovanje nije uvek preporučljivo, postoje najmanje tri načina da se fajl aplikacije prenese na računar:

  • APK Downloader ekstenzija za Chrome;
  • Real APK Leecher aplikacija;
  • razni hosting datoteka i warezniki.

Koji koristiti je stvar ukusa; mi više volimo da koristimo odvojene aplikacije, pa ćemo opisati upotrebu Real APK Leecher-a, pogotovo jer je napisan u Javi i shodno tome će raditi čak i u Windows-u, čak iu nix-u.

Nakon pokretanja programa potrebno je popuniti tri polja: Email, Password i Device ID - i odabrati jezik. Prva dva su e-mail i lozinka vašeg Google naloga koji koristite na uređaju. Treći je ID uređaja, a možete ga dobiti biranjem koda na biraču # #8255## a zatim pronalaženje linije ID uređaja. Prilikom popunjavanja potrebno je unijeti samo ID bez android- prefiksa.

Nakon popunjavanja i čuvanja, često se pojavljuje poruka “Greška pri povezivanju sa serverom”. Nema nikakve veze sa Google Play-om, pa ga slobodno zanemarite i potražite pakete koji vas zanimaju.

Pregled i modifikacija

Recimo da ste pronašli paket koji vas zanima, preuzeli ga, raspakovali ... i kada ste pokušali da pogledate neki XML fajl, bili ste iznenađeni kada ste otkrili da fajl nije tekstualni fajl. Kako ga dekompilirati i kako općenito raditi s paketima? Da li je zaista potrebno instalirati SDK? Ne, ne morate instalirati SDK. Zapravo, za sve korake za raspakivanje, modificiranje i pakiranje APK paketa, potrebni su sljedeći alati:

  • ZIP arhiver za raspakivanje i pakovanje;
  • smali- asembler/rastavljač bajt koda Dalvik virtuelne mašine (code.google.com/p/smali);
  • aapt- alat za pakovanje resursa (podrazumevano, resursi se pohranjuju u binarnom obliku radi optimizacije performansi aplikacije). Uključeno u Android SDK, ali se može nabaviti zasebno;
  • Potpisnik- alat za digitalno potpisivanje modificiranog paketa (bit.ly/Rmrv4M).

Sve ove alate možete koristiti zasebno, ali to je nezgodno, pa je bolje koristiti softver višeg nivoa napravljen na njihovoj osnovi. Ako koristite Linux ili Mac OS X, postoji alat koji se zove apktool. Omogućava vam da raspakujete resurse u njihov originalni oblik (uključujući binarne XML i arsc datoteke), ponovo izgradite paket sa modifikovanim resursima, ali ne zna kako da potpiše pakete, tako da ćete morati ručno da pokrenete uslužni program potpisnika. Unatoč činjenici da je uslužni program napisan na Javi, njegova instalacija je prilično nestandardna. Prvo morate dobiti samu jar datoteku:

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ export PATH=~/bin:$PATH

Ako radite na Windows-u, onda postoji odličan alat za to pod nazivom Virtual Ten Studio, koji također akumulira sve ove alate (uključujući sam apktool), ali umjesto CLI sučelja, korisniku pruža intuitivno grafičko sučelje s kojim može izvršite operacije za raspakivanje, rastavljanje i dekompilaciju u nekoliko klikova. Ovaj alat je Donation-ware, odnosno ponekad se pojavljuju prozori sa prijedlogom za dobijanje licence, ali se to, na kraju krajeva, može tolerirati. Nema smisla to opisivati, jer možete razumjeti sučelje za nekoliko minuta. Ali apktool, zbog njegove prirode konzole, trebalo bi detaljnije razgovarati.


Razmotrite opcije apktool-a. Ukratko, postoje tri glavne naredbe: d (dekodiranje), b (izgradnja) i if (instaliraj okvir). Ako je sve jasno sa prve dve komande, šta onda radi treća, uslovni operator? Raspakira specificirani UI okvir, koji je potreban kada secirate sistemski paket.

Razmotrite najzanimljivije opcije prve naredbe:

  • -s- ne rastavljajte dex fajlove;
  • -r- ne raspakujte resurse;
  • -b- nemojte umetati informacije o otklanjanju grešaka u rezultate rastavljanja dex fajla;
  • --frame-path- koristite specificirani UI okvir umjesto ugrađenog apktool-a. Sada razmotrite nekoliko opcija za komandu b:
  • -f- prinudna montaža bez provjere promjena;
  • -a- odredite putanju do aapt-a (alatka za pravljenje APK arhive) ako ga iz nekog razloga želite koristiti iz drugog izvora.

Korištenje apktool-a je vrlo jednostavno, sve što trebate učiniti je odrediti jednu od naredbi i putanju do APK-a, na primjer:

$ apktool d mail.apk

Nakon toga, svi ekstrahovani i rastavljeni paketi će se pojaviti u imeniku pošte.

Priprema. Onemogući oglase

Teorija je, naravno, dobra, ali zašto je potrebna ako ne znamo šta da radimo sa raspakovanim paketom? Pokušajmo primijeniti teoriju u vlastitu korist, naime, modificiramo neki softver tako da nam ne prikazuje reklame. Na primjer, neka to bude Virtual Torch - virtualna baklja. Za nas je ovaj softver savršen, jer je pun dosadnih reklama i dovoljno je jednostavan da se ne izgubite u divljini koda.


Dakle, koristeći jednu od gore navedenih metoda, preuzmite aplikaciju sa tržišta. Ako odlučite koristiti Virtuous Ten Studio, samo otvorite APK datoteku u aplikaciji i raspakirajte je, za što kreirajte projekt (File -> New project), a zatim odaberite Import File iz kontekstnog izbornika projekta. Ako je vaš izbor pao na apktool, onda je dovoljno izvršiti jednu naredbu:

$ apktool d com.kauf.particle.virtualtorch.apk

Nakon toga će se u direktoriju com.kauf.particle.virtualtorch pojaviti stablo datoteka, slično onom opisanom u prethodnom dijelu, ali s dodatnim smali direktorijumom umjesto dex datoteka i apktool.yml datotekom. Prvi sadrži rastavljeni kod izvršne dex datoteke aplikacije, a drugi sadrži servisne informacije potrebne apktoolu za ponovno sastavljanje paketa.

Prvo mjesto koje trebamo pogledati je, naravno, AndroidManifest.xml. I tu odmah srećemo sljedeću liniju:

Lako je pretpostaviti da je ona odgovorna za davanje dozvole aplikaciji za korištenje internetske veze. Zapravo, ako samo želimo da se riješimo reklama, najvjerovatnije će nam biti dovoljno da zabranimo aplikaciju sa interneta. Hajde da pokušamo to da uradimo. Izbrišite navedenu liniju i pokušajte kompajlirati softver koristeći apktool:

$ apktool b com.kauf.particle.virtualtorch

Rezultirajuća APK datoteka će se pojaviti u direktoriju com.kauf.particle.virtualtorch/build/. Međutim, ne može se instalirati jer nema digitalni potpis i kontrolne sume datoteka (jednostavno nema META-INF/ direktorij). Paket moramo potpisati uslužnim programom apk-signer. Lansirano. Interfejs se sastoji od dvije kartice - na prvom (Key Generator) kreiramo ključeve, na drugom (APK Signer) potpisujemo. Da kreirate naš privatni ključ, popunite sljedeća polja:

  • Target File- izlazna datoteka skladišta ključeva; obično pohranjuje jedan par ključeva;
  • Lozinka i Potvrdi- lozinka za skladištenje;
  • Alias- naziv ključa u spremištu;
  • Alias ​​lozinka i Potvrdi- šifra tajnog ključa;
  • Validnost- Period važenja (u godinama). Zadana vrijednost je optimalna.

Preostala polja, općenito, nisu obavezna - ali morate popuniti barem jedno.


UPOZORENJE

Da biste potpisali aplikaciju pomoću apk-signera, morate instalirati Android SDK i navesti punu putanju do njega u postavkama aplikacije.

Sve informacije su date samo u informativne svrhe. Ni uredništvo ni autor nisu odgovorni za bilo kakvu moguću štetu uzrokovanu materijalima ovog članka.

Sada možete potpisati APK ovim ključem. Na kartici APK Signer odaberite novogeneriranu datoteku, unesite lozinku, pseudonim ključa i lozinku za nju, zatim pronađite APK datoteku i hrabro kliknite na dugme "Potpiši". Ako sve prođe kako treba, paket će biti potpisan.

INFO

Pošto smo paket potpisali vlastitim ključem, on će biti u sukobu sa originalnom aplikacijom, što znači da ćemo kada pokušamo ažurirati softver preko tržišta dobiti grešku.

Samo softver treće strane treba digitalni potpis, tako da ako mijenjate sistemske aplikacije koje su instalirane kopiranjem u direktorij /system/app/, onda ih ne morate potpisivati.

Nakon toga spuštamo paket na pametni telefon, instaliramo i pokrećemo. Voila, reklama je nestala! Umjesto toga, međutim, pojavila se poruka da nemamo internet ili da nemamo odgovarajuće dozvole. U teoriji, ovo bi moglo biti dovoljno, ali poruka izgleda dosadno i, da budem iskren, baš smo imali sreće sa glupom aplikacijom. Dobro napisan softver će najvjerovatnije razjasniti svoje vjerodajnice ili provjeriti internetsku vezu i u suprotnom će jednostavno odbiti da se pokrene. Kako biti u ovom slučaju? Naravno, uredite kod.

Tipično, autori aplikacija kreiraju posebne klase za prikazivanje reklama i poziva metode ovih klasa tokom pokretanja aplikacije ili jedne od njenih "aktivnosti" (jednostavno rečeno, ekrani aplikacije). Pokušajmo pronaći ove klase. Idemo u smali direktorij, zatim com (u org postoji samo otvorena grafička biblioteka cocos2d), pa kauf (tačno tamo, jer je ovo ime programera i sav njegov kod) - i evo ga, marketinški imenik. Unutra nalazimo gomilu fajlova sa smali ekstenzijom. Ovo su klase, a najistaknutija od njih je klasa Ad.smali, po čijem je nazivu lako pogoditi da prikazuje oglase.

Mogli bismo promijeniti logiku njegovog rada, ali bi bilo mnogo lakše glupo ukloniti pozive bilo kojoj od njegovih metoda iz same aplikacije. Stoga izlazimo iz marketing direktorija i idemo u susjedni direktorij čestica, a zatim u virtualtorch. Datoteka MainActivity.smali ovdje zaslužuje posebnu pažnju. Ovo je standardna Android klasa koju generiše Android SDK i postavlja kao ulaznu tačku u aplikaciju (analogno glavnoj funkciji u C). Otvorite datoteku za uređivanje.

Unutra je smali kod (lokalni asembler). Prilično je zbunjujuće i teško čitljivo zbog svoje niske razine, tako da ga nećemo proučavati, već jednostavno pronaći sva spominjanja klase Ad u kodu i komentirati ih. Ubacimo niz "Oglas" u pretragu i dođemo do reda 25:

Terenski privatni oglas:Lcom/kauf/marketing/Ad;

Ovdje se kreira polje oglasa za pohranjivanje objekta klase Ad. Komentiramo postavljanjem znaka ### ispred linije. Nastavljamo potragu. Linija 423:

Nova instanca v3, Lcom/kauf/marketing/Ad;

Ovdje nastaje objekt. Komentiramo. Nastavljamo pretragu i u redovima 433, 435, 466, 468, 738, 740, 800 i 802 pronalazimo pozive metodama klase Ad. Komentiramo. Izgleda da je to to. Mi štedimo. Sada paket treba ponovo sastaviti i provjeriti njegovu učinkovitost i prisutnost reklama. Radi čistoće eksperimenta, vraćamo liniju uklonjenu iz AndroidManifest.xml, prikupljamo paket, potpisujemo ga i instaliramo.

Naš zamorac. Vidljivo oglašavanje

Op-pa! Oglašavanje je nestalo samo dok je aplikacija radila, ali je ostalo u glavnom meniju, što vidimo kada pokrenemo softver. Dakle, čekajte, ali ulazna tačka je klasa MainActivity, a reklama je nestala dok je aplikacija radila, ali je ostala u glavnom meniju, pa je ulazna tačka drugačija? Da bismo otkrili pravu ulaznu tačku, ponovo otvaramo AndroidManifest.xml datoteku. I da, sadrži sljedeće redove:

Kažu nam (i što je još važnije, androidu) da bi aktivnost pod nazivom Start trebala biti pokrenuta kao odgovor na generiranje android.intent.action.MAIN namjere (događaja) iz kategorije android.intent.category.LAUNCHER. Ovaj događaj se generiše kada dodirnete ikonu aplikacije u pokretaču, tako da definiše ulaznu tačku, odnosno klasu Start. Najvjerovatnije je programer prvo napisao aplikaciju bez glavnog menija, u koju je ulazna tačka bila standardna MainActivity klasa, a zatim dodao novi prozor (aktivnost) koji sadrži meni i opisan u klasi Start, i ručno ga napravio unosom. tačka.

Otvaramo datoteku Start.smali i ponovo tražimo redak "Ad", nalazimo u redovima 153 i 155 spomen klase FirstAd. Također je u izvornom kodu i, sudeći po nazivu, odgovoran je za prikazivanje oglasa na glavnom ekranu. Gledamo dalje, dolazi do kreiranja instance klase FirstAd i namjere, u skladu s kontekstom koji se odnosi na ovu instancu, a zatim oznake cond_10, uvjetni prijelaz na koji se vrši točno prije kreiranja instance klase :

If-ne p1, v0, :cond_10 .line 74 nova instanca v0, Landroid/content/Intent; ... :cond_10

Najvjerovatnije program nekako nasumično izračuna da li je potrebno prikazivati ​​oglase na glavnom ekranu, a ako nije, skače direktno na cond_10. Ok, pojednostavimo njen zadatak i zamijenimo uvjetni prijelaz bezuvjetnim:

#if-ne p1, v0, :cond_10 goto:cond_10

U kodu se više ne spominje FirstAd, pa zatvaramo datoteku i ponovo sastavljamo našu virtuelnu lampu koristeći apktool. Kopirajte na pametni telefon, instalirajte, pokrenite. Voila, svi oglasi su nestali, čestitamo svima.

Rezultati

Ovaj članak je samo kratak uvod u metode otvaranja i modifikacije Android aplikacija. Mnogi problemi su ostali iza kulisa, kao što je uklanjanje zaštite, raščlanjivanje zamućenog koda, prevođenje i zamjena resursa aplikacije, kao i modifikacija aplikacija napisanih pomoću koristeći android NDK. Međutim, posjedovanje osnovnih znanja, razumijevanje svega ovoga samo je pitanje vremena.

Pregleda postova: 5 618

android studio pruža široke mogućnosti kako za razvoj aplikacija tako i za povećanje automatizacije i udobnosti pri programiranju.

Ako koristite sistem izgradnje gradle da kreirate sopstvene aplikacije, takođe možete postaviti nekoliko opcija za kreiranje potpisa za svoje aplikacije.

Vjerovatno ne želite da objavite svoje potpisne ključeve, lozinke i korisnička imena u javnom (ili čak privatnom) spremištu. Stoga možete definirati ključ, lozinku i korisničko ime kao svojstva u zasebnoj datoteci.

Prije nego počnete potpisivati ​​aplikaciju, morate kreirati novo svojstvo u datoteci gradle.properties. Nazovimo to keys.repo i, kao vrijednost, navedite putanju do mape u kojoj će se naknadno nalaziti spremište ključeva i datoteka sa svojstvima (na primjer, C:/Users/UserName/.signing).

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

Zatim morate kreirati ovu fasciklu ili, ako ste naveli postojeću, otvorite je. Potrebno je kreirati fajl YourProjectName.properties, unutar kojeg će put do skladišta ključeva, alias ključa i lozinka biti upisani kao svojstva u sljedećem obliku.

RELEASE_STORE_FILE=/Ime Vašeg projekta/NazivStore ključeva.jks RELEASE_STORE_PASS=****** RELEASE_ALIAS=KeyAlias ​​RELEASE_KEY_PASS=******

Kako kreirati skladište ključeva?

Ako nemate skladište ključeva, lako ga možete kreirati koristeći Android Studio. Da biste to učinili, odaberite stavku menija Build -> Generirajte potpisani APK.

U prozoru koji se pojavi kliknite Napravi novi... Kao rezultat, otvorit će se prozor u kojem možete odrediti gdje će se nalazište ključeva (za ovu lekciju bolje je odmah odabrati putanju koju ste naveli u YourProjectName.properties u imovini RELEASE_STORE_FILE), kao i podatke o ključu.

Zatim morate kreirati folder YourProjectName i tamo prenesite željeni fajl ključeva.

Sada možete nastaviti direktno na proces potpisivanja. Da biste to učinili, u svom projektu morate otvoriti datoteku build.gradle(nalazi se u folderu aplikacije). Unutra u bloku android morate dodati sljedeći kod.

SigningConfigs ( debug ( /* nema promjene ovdje */ ) izdanje ( 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"] ) ) ostalo ( println "==================== = =================================" println " - Konfigurišite okruženje za kompilaciju izdanja - npr. u ~/. potpisni imenik" println "============================================ == ========" ) ) )

Koje su šeme potpisa?

Postoje dvije šeme za dobijanje APK potpisa: v1 JAR i v2 Cijeli APK.

U prvom slučaju potpišite JAR-file, što je tradicionalni način potpisivanja. V1 potpis ne štiti neke dijelove APK-a, kao što su ZIP metapodaci. APK verifikator mora da obrađuje mnogo nepouzdanih (još ne verifikovanih) struktura podataka, a zatim odbaci podatke koji nisu potpisani, što ostavlja mnogo prostora za napad. Osim toga, APK verifikator mora dekomprimirati sve komprimirane zapise, što gubi mnogo vremena i memorije. Za rješavanje ovih problema razvijen je drugi schema v2 Full APK.

Shema v2 je predstavljena u Android 7.0 Nougat (API 25) i radi od verzije Android Studio 2.2 i Android Gradle dodatak 2.2. Ova šema pruža bržu instalaciju aplikacije i dobru zaštitu od neovlaštenih promjena u APK-u. Sadržaj APK-a je hashiran i potpisan, a zatim primljen Blok APK potpisa umetnut u APK.

Tokom provjere valjanosti, v2 shema tretira APK kao blob i vrši verifikaciju potpisa na cijeloj datoteci. Svaka modifikacija APK-a, uključujući izmjene ZIP metapodataka, poništava potpis. Ovaj oblik provjere je mnogo brži i omogućava otkrivanje više neovlaštenih modifikacija.

Novi format je kompatibilan unatrag, tako da se APK-ovi potpisani novom šemom mogu instalirati na starije uređaje (koji će jednostavno zanemariti novi potpis) sve dok su ti APK-ovi također potpisani v1 šemom.

Potpisivanje podrazumevano koristi obe šeme tako da se aplikacije mogu instalirati na bilo koji uređaj. Međutim, ako je potrebno, možete onemogućiti potpisivanje v1 ili v2. Da biste to učinili, u gornjem kodu u bloku pustiti samo dodajte sljedeće redove.

V1SigningEnabled false

V2SigningEnabled false

Također je važno napomenuti da morate potpisati s v1 shemom prije potpisivanja sa v2 shemom, jer APK neće proći v2 ako je potpisan dodatnim certifikatima nakon što je potpisan sa v2 shemom.

Nakon dodavanja koda, označite ovaj kod u bloku buildTypes unutra pustiti. Na primjer:

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

Sada možete bezbedno u stavku menija Build izabrati Napravi APK, nakon što je prethodno promijenio tip sklopa iz debug na pustiti. Kao što vidite, ova metoda je zgodna po tome što je automatska, potrebno je samo jednom konfigurirati i vaša skladišta ključeva mogu biti sigurna.

Dakle, radili ste mnogo dana (a možda i noći), a sada je vaša prva hibridna mobilna aplikacija spremna. Prilično je stabilan, većina kritičnih grešaka je zatvorena. Ostale su male, ali sjetivši se da je perfekcionizam zlo, donosite čvrstu odluku da objavite aplikaciju.

Preduslov za to je prisustvo potpisanog APK fajla. Kako potpisati apk datoteku, naučit ćete iz ovog članka.

mala digresija

Kada se moj projekat za kućne ljubimce približio objavljivanju, počeo sam tražiti informacije o tome kako brzo i bezbolno objaviti aplikaciju. Mnoga pronađena uputstva izgledala su jednostavno. Odabrao sam upute autora Ionic frameworka, na kojima je aplikacija razvijena. Nije sve ispalo iz prvog puta, postoji nekoliko karakteristika. Proces potpisivanja je opisan u ovom članku, a istaknute su važne točke.

Početni podaci

Pretpostavljam da imate sve što vam je potrebno za razvoj hibrida mobilne aplikacije koristeći Apache Cordova. Mora biti instalirano:
  • Apache Cordova
  • Java Development Kit
  • Android SDK Alati
lcf se koristi kao naziv projekta i aplikacije. Zamijenite imenom svog projekta gdje je to potrebno.

Idi

Prvo morate kreirati verziju izdanja vaše aplikacije. Ali prije toga, provjerimo jesu li svi nepotrebni dodaci uklonjeni. Na primjer, ne treba nam dodatak koji ispisuje informacije o otklanjanju grešaka na konzolu. Uklonimo to:

$ cordova dodatak rm cordova-plugin-console
Da biste generisali verziju izdanja za Android, koristite naredbu graditi sa zastavom --pustiti:

$ cordova build --release android
Ova komanda će kreirati nepotpisan APK fajl u direktorijumu:

platforms/android/build/outputs/apk
Na primjer platforms/android/build/outputs/apk/ android-release-unsigned.apk. Zatim moramo potpisati ovu datoteku i pokrenuti uslužni program zipalign da optimizirate i pripremite fajl za Google Play.

Za potpisivanje datoteke potreban je certifikat. Kreirajmo ga pomoću uslužnog programa ključni alat koji je uključen u JDK:

$ keytool -genkey -v -keystore lcf.keystore -alias lcf -keyalg RSA -keysize 2048 -važenje 10000
Bitan

Vrijednost parametra -alias mora se zapamtiti, ali je bolje da je zapišete. U gornjem primjeru, jednak je lcf (po prvim slovima naziva aplikacije Loyal Client Free). Ovdje neću iznositi detalje, ako ste zainteresovani pišite u komentarima, reći ću vam više.

Alias ​​se koristi svaki put prilikom potpisivanja * aplikacije. Da biste ga lakše zapamtili, koristite ime datoteke skladišta ključeva kao pseudonim, na primjer:


-keystore hello-world.keystore -alias hello-world -keystore weather-app.keystore -alias weather-app -keystore todo.keystore -alias todo
* Morate potpisati aplikaciju sa svakim izdanjem ažuriranja

Utility ključni alat postavlja niz pitanja. Biće ih ukupno 8. Da biste imali predstavu o pitanjima i okvirnim odgovorima unapred, sva su data ispod, ispod spojlera.

pitanja o ključnim alatima i uzorci odgovora

1. Unesite lozinku za skladište ključeva:
Ovdje trebate unijeti lozinku za datoteku (najmanje 6 znakova). Unesena lozinka mora biti zapisana na sigurnom mjestu, potrebna je svaki put prilikom potpisivanja aplikacije.

2. Ponovo unesite novu lozinku:
Lozinka za ponovni ulazak.

3. Koje je vaše ime i prezime?
: Ivan Petrov
Vaše ime i prezime. Vrijednost u uglastim zagradama je zadana vrijednost.

4. Kako se zove vaša organizaciona jedinica?
: IT
Naziv odjeljenja vaše kompanije. Možete ga ostaviti praznim, ja specificiram IT.

5. Kako se zove vaša organizacija?
: 2developers
Naziv vaše organizacije. Navedite ako ih ima.

6. Kako se zove vaš grad ili lokalitet?
: Moskva
Ime grada

7. Kako se zove vaša država ili pokrajina?
: MO
Naziv regije

8. Koji je dvoslovni kod zemlje za ovu jedinicu?
: EN
Kod zemlje. Označavam RU.

: y

Potvrdite da li je sve ispravno ili pritisnite Enter da ponovo uđete.


Na kraju će se pojaviti poruka o uspješnom generiranju ključa. Od vas će biti zatraženo da postavite lozinku za privatni ključ (ako želite da ostavite isto kao i za certifikat, pritisnite Enter):

Generisanje 2 048-bitnog RSA para ključeva i samopotpisanog sertifikata (SHA256withRSA) sa rokom važenja od 10 000 dana za: CN=Ivan Petrov, OU=IT, O=2programeri, L=Moskva, ST=MO, C=RU Unesite ključ lozinka za (VRATI ako je isto kao lozinka za skladište ključeva):
Datoteka će biti kreirana u trenutnom direktoriju lcf.keystore.

Bitan

Kreirana datoteka mora biti sačuvana na sigurnom mjestu. Ako koristite privatno spremište, tada se datoteka može urezati zajedno sa izvornim kodovima aplikacije. Općenito, certifikate je najbolje čuvati odvojeno. Ako izgubite certifikat, nećete moći objaviti ažuriranja aplikacije.

Preostala su još dva koraka i imat ćete APK fajl spreman za distribuciju. Prelazimo direktno na potpisivanje.

Da potpišete svoju apk datoteku, koristite uslužni program jarsigner, koji je takođe uključen u JDK.

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore lcf.keystore android-release-unsigned.apk lcf
Ime certifikata je navedeno nakon parametra -keystore, alias - nakon naziva datoteke.

Konačno, da bismo optimizirali apk datoteku, koristit ćemo uslužni program zipalign:

$ zipalign -v 4 android-release-unsigned.apk LoyalClientFree.apk
Posljednji parametar je naziv fajla koji ćete postaviti na Google Play.

Bitan.

Utility zipalign dio je Android SDK alata i može se naći ovdje:

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

Zaključak

Sada imate apk fajl spreman za distribuciju koji se može prenijeti na Google Play. Ispunite opis, odredite ocjenu svoje aplikacije i slobodno kliknite na "Objavi".
 
Članci on tema:
Kako snimiti telefonski razgovor na Android uređaju - vodič za radnju pomoću aplikacije Call Recorder
Ponavljana pitanja korisnika o tome kako snimiti razgovor na Sony Xperia-i potaknula su nas da kreiramo ovu kratku recenziju. Zašto je to potrebno, svako odlučuje za sebe, ali postoji činjenica od interesa za takvu opciju i to je činjenica, a po defaultu takva funkcija
Greška
Poštovani, vjerovatno ne postoji nijedan korisnik računara koji ne bi naišao na greške prilikom instaliranja i uklanjanja programa. Štaviše, takve procedure se moraju raditi prilično često.U ovom relativno kratkom članku želim
Metode zaključavanja i otključavanja ekrana
Postoje situacije kada, kada uključite gadget, ustanovite da je blokiran. U glavi mi se odmah nameću dva pitanja: zašto se to dogodilo i kako brzo otključati tablet. Odmah napominjemo da čak i ako je uređaj pod garancijom, možete besplatno pomoći u rješavanju ovog problema
Kalibracija Android baterije Šta znači kalibrirati bateriju
(1 ocjena) Na mobilnom uređaju koji je upravo kupljen, vijek trajanja baterije je znatno duži nego nakon nekoliko mjeseci. Problem ukazuje na loš kvalitet baterije i potrebu za njenom zamjenom. Međutim, nemojte žuriti i trošiti