Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Problema cuptor electric cu disju...

Merita achizitionat DFSK Fengon 5...

Pret actual invelitoare

Probleme baterie Samsung A54
 Schema statie auto Renegade REN 1...

Magazine IT de incredere

Parere SKODA Octavia 3 2.0TDI 150CP

Achizitie telefon 1000-1200lei
 Unde gasesc o lampa buna pe gaz?

Consulta specialiștii... Und...

Fostul director al Frontex: Comis...

Construire anexa lipita de casa
 Ce folositi pentru urina mirosito...

Socializare in prezenta copiilor

Cont Samsung A32

Hotarare definitiva a instantei, ...
 

ZIPALIGN la o aplicatie Android

- - - - -
  • Please log in to reply
32 replies to this topic

#1
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Va salut!
Recent am facut o aplicatie pentru Android si anume un joc cu un personaj si niste platforme, de tip Mario, 10 nivele deocamdata si 2 Inn App Purchase-uri: skip level si remove ads. L-am facut cu consola Game Salad, asa ca nu au fost necesare cunostinte de programare.

Am facut doar tutorialele de pe codeacademy.com in trecut, asa ca atunci cand am avut nevoie sa semnez aplicatia, am cautat pe net tutoriale despre cum sa creez un keystore si cum sa il folosesc pentru a semna aplicatia. Am facut asta ruland cmd ca administrator si scriind adresa din Program Files a folderului Java -> folderul care continea utilitarul -> numele utilitarului java pentru crearea unui keystore, ceva de forma jar.1.8...

Codul a fost asta:

$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

http://stackoverflow...ign-android-app

Am generat keystore-ul folosind nu acel tutorial, ci altul asemanator, care explica putin altfel, dar pe care nu il mai gasesc acum.

Iar acum Google nu imi accepta aplicatia pentru ca nu i-am facut zipalign.

Am gasit o gramada de tutoriale pe net si multi indieni care vorbesc pe youtube cum sa fac zipalign la o aplicatie.

Exemplu:
https://developer.an...e/zipalign.html

Doar ca de data asta nu imi spune nici un tutorial unde sa introduc acel cod. Am incercad in cmd si nu ajuta la nimic.

Ce inseamna infile si outfile? Infile = locul unde se afla aplicatia (in formatul final .apk, nu proiect sau fisiere), iar outfile = locul unde vreau sa ajunga aplicatia dupa ce i-a fost facut zipalign ? Sau trebuie sa am aplicatia copiata de 2 ori si sa o trec in cod cu ambele nume ?

Din cate am inteles, zipalign face ca aplicatia sa fie mai bine comprimata, astfel incat sa foloseasca mai putine resurse ale dispozitivului pe care ruleaza. Deci probabil zipalign se face si la alte fisiere, nu doar .apk. Totusi, nu gasesc un tutorial complet pe net, sau nu il inteleg eu.

Daca imi poate explica cineva cum sa fac zipalign de la zero, i-as fi foarte recunoscator.

#2
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
zipalign 4 infile.apk outfile.apk

infile = aplicatia semnata
outfile = noul fisier cu aplicatia aliniata

keytool genereaza a "self-signed certificate" cu care poti face niste lucruri, dar nu cred ca Goole va accepta o aplicatie semnata cu un astfel de certificat

banuiesc ca ai descarcat aplicatia zipalign de undeva, ca altfel degeaba te strofoci

#3
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Nu am facut niciodata o aplicatie pentru Android, totusi:

View PostBogdan199O, on 18 iulie 2016 - 11:14, said:

… nu imi spune nici un tutorial unde sa introduc acel cod. Am incercad in cmd…
Da, ‘in cmd’.

View PostBogdan199O, on 18 iulie 2016 - 11:14, said:

…si nu ajuta la nimic. …
Adica, mai precis, ce se intampla cand incerci ‘in cmd’? Ceva de genu’ ca nu gaseste executabilul zipalign? Se pare ca este parte din Android SDK, de care prin urmare ai nevoie (daca Game Salad nu il include). Vezi discutia de aici <http://stackoverflow...-publishing-app>.

View PostBogdan199O, on 18 iulie 2016 - 11:14, said:


Ce inseamna infile si outfile?…
Numele fisierelor cu APK-ul pe care l-ai creat tu (inca nealiniat) si cel ce va fi produs, aliniat, de utilitarul zipalign.

View PostBogdan199O, on 18 iulie 2016 - 11:14, said:

… Din cate am inteles, zipalign face ca aplicatia sa fie mai bine comprimata, astfel incat sa foloseasca mai putine resurse ale dispozitivului pe care ruleaza. …
Sa foloseasca mai bine resursele da, dar sa fie mai comprimata NU. Ba chiar ma astept sa lungeasca um’pic APK-ul. Ideea e ca odata aliniate unele resurse (imagini/ etc) vor putea fi exploatate direct din memoria flash a telefonului de acolo unde este stocat APK-ul fara a fi nevoie de copierea lor in RAM consumand astfel RAM suplimentar.

View PostBogdan199O, on 18 iulie 2016 - 11:14, said:

… Deci probabil zipalign se face si la alte fisiere, nu doar .apk.…
Deci nu, nu vad la ce ar folosi pentru altceva decat APK-uri.

#4
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Multumesc pentru raspuns.

Am descarcat doua utilitare de pe net, ambele au un folder infile, un folder outfile, inca un folder cu tools si un executabil. Am pus aplicatia in folderul infile, am deschis executabilul, dar cred ca nu l-am folosit cum trebuie. O sa postez niste print screen-uri mai pe seara cand ajung acasa.

Ar trebui sa scriu codul in executabil sau doar sa il deschid si modifica el aplicatia din folderul infile?

#5
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
pui fisierul apk in acelasi folder cu utilitarul zipalign, deschizi o fereastra cmd, executi cd in folderul cu zipalign si in cmd executi

zipalign 4 infile.apk outfile.apk

evident inlocuiesti infile cu numele aplicatiei

#6
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Ce fac mai exact? Cum le execut, imi poti scrie exact ce am de scris acolo? Eventual cu pasi, 1,2,3. Serios, nu prea stiu sa folosesc cmd, ieri eram foarte mirat ca nu merge sa dau copy paste in cmd.

Am descarcat 2 utilitare de ziptool, nu stiu daca sunt bune sau le incerc degeaba. Are cineva un tool zipalign despre care stie ca este functional 100% ?

Edited by Bogdan199O, 18 July 2016 - 17:20.


#7
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Daca tot folosesti Game Salad, din aceasta pagina <http://help.gamesala...ndroid-signing/> deduc ca se ocupa el de semnatura digitala si de alinierea din APK. Trebuia insa sa ai utilitarele respective instalate si sa ii spui unde le-ai pus. In particular keytool si jarsigner par a proveni din ceva Java Developement Kit ia zipalign din Android SDK (pe care prin urmare trebuie sa il instalezi). Cauta bine prin documentatie si vezi ce si cum trebuie sa instalezi si sa parametrezi si probabil scapi de ‘introdus cod in cmd’.

LE: Uite aici <http://help.gamesala...d-with-android/> ce si cum instalezi, daca este pe Windows. Echivalentul pentru Mac (daca acesta e ce folosesti) este aici <http://help.gamesala...d-with-android/>.

Edited by sags, 18 July 2016 - 18:48.


#8
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Da, exact, pe astea le-am folosit ieri. Am descarcat utilitarele dintr-un link gasit in descrierea unui clip de pe youtube, care a continut tot ce trebuia. I-am spus programului unde sunt utilitarele si unde este aplicatia, am introdus parola si am semnat-o cu succes.

Acum trebuie sa ii fac zipalign si nu stiu cum.

In primul rand, nu sunt sigur ca am utilitare bune. Stie cineva un tool care sigur merge?

Apoi nu am inteles exact din postarea lui sceptic_schizo cum sa fac zipalign, ce sa introduc in cmd si cand.

#9
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Am descarcat utilitarele alea si le-am folosit. Aplicatia este acum semnata.

Nu inteleg cum sa ii fac zip align?

Ce trebuie sa scriu in cmd?

#10
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Presupun ca, odata ce ai specificat corect unde sunt utilitarele, functia de semnare din Game Salad se ocupa si de aliniere. Altfel de ce ar trebui sa stie unde e zipalign? Nu ai treaba cu ‘in cmd’ deloc, nici pentru semnare nici pentru aliniere. Ai incercat upload in Google Play sa vezi daca acum e ok?

Daca tot nu merge:
  • este pe Windows sau Mac?
  • ai instalat Java SE Devkit SI Android SDK cum spune in link-urile pe care ti le-am dat? (Si mai lasa ietuvele, sunt bune si ele uneori da’ documentatia programului pe care il folosesti e sfanta.)
  • atasaza o captura cu fereastra de semnare din Game Salad (cea indicata in primul link din mesajul meu anterior).


#11
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
In GameSalad exista doar functia de semnare, nu exista si zipalign. O sa fac niste print screen-uri mai pe seara cand ajung acasa. Trebuie sa ii fac si zipalign, ca altfel nu imi accepta Google Play aplicatia.

Am incercat sa o incarc si din cauza asta nu mi-o accepta. O sa atasez print screen si cu asta.

Sunt pe Windows. Kit-ul Java pentru semnare l-am instalat si l-am folosit, Android SDK am instalat aseara, dar nu am stiut cum sa il folosesc in cazul meu.

#12
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Functia de semnare din GameSalad nu se ocupa si de aliniere. In print screen nu am introdus toate datele, ca am semnat-o deja... Iar in print screen-ul de pe Google Play exact asa imi scrie dupa ce incerc sa incarc aplicatia nesemnata.

N-am zis ca GameSalad trebuie sa stie cum sa ii faca zipalign. Tocmai asta e problema, ca trebuie sa ii fac eu.

Am instalat Android SDK, asa cum scrie aici http://help.gamesala...d-with-android/

Next ?

Attached Files


Edited by Bogdan199O, 20 July 2016 - 07:00.


#13
xxvirusxx

xxvirusxx

    Retired

  • Grup: Senior Members
  • Posts: 13,441
  • Înscris: 11.11.2005
[ https://www.youtube-nocookie.com/embed/ICbfTJ-CCmM?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]

http://forum.xda-dev...d.php?t=2250600

#14
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Daca tii musai sa o aliniezi ‘de mana’, atunci:
  • Creezi un director "Aplicatie ALINIATA" ‘frate’ cu "Aplicatie nesemnata" -- presupunand ca dupa semnare APK-ul semnat  l-a inlocuit pe cel nesemnat in directorul "Aplicatie nesemnata".
  • Deschizi un command prompt.
  • Executi "C:\Users\ALEX\Desktop\APK Signing\zipalign.exe" 4 "C:\Users\ALEX\Desktop\APLICATIE\Aplicatie nesemnata\InfiniteSTAR.apk" "C:\Users\ALEX\Desktop\APLICATIE\Aplicatie ALINIATA\InfiniteSTAR.apk" (cu ghilimele cu tot). Hint: exista copy/paste si in cmd, da un clic pe iconita din stanga-sus a ferestrei si ai ‘Edit’-> ‘Mark’/‘Paste’.
Cele de mai sus presupun ca toate caile din ‘Signing tools location’ sunt cele reale.

View PostBogdan199O, on 20 iulie 2016 - 06:59, said:

Functia de semnare din GameSalad nu se ocupa si de aliniere. … N-am zis ca GameSalad trebuie sa stie cum sa ii faca zipalign. Tocmai asta e problema, ca trebuie sa ii fac eu.
Tocmai, eu ma astept sa o faca automat odata cu semnarea. La ce crezi ca foloseste sa ceara ‘zipaling’ in zona ‘Signing tools location’? Dupa mine trebuie sa verifici ca ai completat acolo totul corect, apoi sa semnezi cu Game Salad (NU din linia de comanda) et voila, sa te trezesti cu un APK gata semnat si gata aliniat.

In alta ordine de idei, dupa cum arata caile de acolo tu NU iei acele utilitare din kit-urile oficiale instalate, ci din altceva. Care altceva poate e incomplet/ obsolete/ ba chiar fake/ etc/ etc, depinde de unde provine… Cauta acele utilitare in directoarele unde ai instalat kit-urile (de exemplu zipalign.exe ar fi undeva prin "C:\Program Files (x86)\Android\", sau in alta parte daca la instalare ai schimbat directorul), corecteaza parametrarea, apoi semneaza cu Game Salad. Daca nu vrea si nu vrea, vezi ca la ei pe site e un chat si intreaba-i la ce foloseste sa specifici unde a zipalign daca aplicatia lor nu face [si] alinierea.

LE: De fapt, daca ma uit mai bine, nici macar nu ai incercat sa semnezi cu Game Salad - ca nu ai nimic completat in zona ‘Key’ - deci de unde stii ca nu face si alinierea? Sfatul meu ramane sa faci [in primul rand] ce scrie in documentatia programului pe care il folosesti…

Edited by sags, 20 July 2016 - 10:46.


#15
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Am semnat aplicatia cu GameSalad, mi-a dat un mesaj intr-o fereastra noua "Your apk was signed." Doar ca atunci cand am facut print screen-ul, n-am mai completat key, nume, parola si toate casutele, voiam doar sa arat ca nu exista vreo optiune de zipalign acolo.

In seara asta observ altceva: in folderul Android Studio nu am un folder sdk, ci un folder gradle. Nu ca ar conta denumirea, dar folderul meu gradle nu contine zipalign.exe.

De asemenea, e curios de ce s-a instalat in Program Files si nu Program Files (x86). O sa reinstalez maine Android Studio, poate n-am descarcat eu pachetele necesare, am facut ca in tutorialul de pe net, desi la cat de obosit am fost in ultimele zile, nu sunt sigur.

Attached Files



#16
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Ce vad in captura de ecran este Android Studio, care nu cred ca e acelasi lucru cu Android SDK desi cred ca il include. Eu am o instalare mai veche de SDK si in Android SDK Manager (care se ocupa de instalare/ update/ dezinstalare) nu am nici un fel de Studio. Ce iti e suficient cred ca este installer_r24.4.1-windows.exe de la ‘Get just the command line tools’ de aici <https://developer.an....html#downloads>. La instalare ai grija sa bifezi ‘Android SDK Platform Tools’ si ‘Android SDK Build Tools’. Sa fie versiunea cea mai recenta ca versiunile vechi (nu stiu cat de vechi) NU contin zipalign (despre asta e vorba in clipul postat de colegul @xxxvirusxx mai sus). In captura ta nu vad directorul build-tools. (dar poate e dincolo, in … (x86))

Diferenta intre Program Files si Program Files (x86) este ca primul contine programele ‘100% native’, mai precis 32-biti pe sistem 32-biti si 64-biti pe sistem 64-biti, in timp ce al doilea exista doar pe sistemele 64-biti si contine programele 32-biti. Prin urmare pe un sistem 64-biti un program poate ajunge instalat fie colo fie colo, dupa cum e pe 32/64-biti.

#17
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Multumesc inca o data pentru raspuns. :)

Ar trebui sa il includa, dar la mine nu il include. Probabil nu am instalat ce trebuia.

O sa instalez installer_r24.4.1-windows.exe cum ai scris.

La mine Program Files (x86) nu contine nimic legat de Android Studio sau Android SDK, s-a instalat doar in Program Files, i-am dat eu automat/standard, nu custom. O sa il dezinstalez si voi pune installer_r24.4.1-windows.exe

#18
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Am instalat  installer_r24.4.1-windows.exe, am cautat in folderul instalat executabilul zipalign.exe si l-am mutat pe desktop ( sa imi fie mai accesibil cand il voi rula in cmd).

Bun, si am creat pe desktop 2 foldere: "1" si "2". In 1 am pus aplicatia semnata, dar nealiniata, iar 2 l-am lasat gol.

Am deschis (mai bine zis "rulat") zipalign.exe asa cum mi-ai recomandat tu, dupa cum se poate vedea in print screen-ul 1.

Apoi am arhivat aplicatia nesemnata: InfiniteStar.zip si am scris comanda zipalign [-f] <align> .... numele si locatia fisierului. [-f] pentru ca ar fi fost ok sa imi faca overwrite file, oricum il aveam salvat si in alta parte . Imi da eroarea "cannot find the file specified". ( vezi print screen 2)

La urma am introdus toate comenzile, check alignment, overwrite file ... pe ideea ca intai trebuie sa il verifice daca este aliniat, apoi sa il alinieze + celelalte comenzi, (print screen 3) chiar si verbose output ( am citit pe net ce inseamna, desi nu prea inteleg la ce m-ar ajuta in cazul meu ).

Ce am inteles eu pana acum: am reusit sa accesez zipalign.exe, dar nu stiu ce comanda am nevoie sa imi execute acum si cum sa o execute. Am mai citit azi pe net tutoriale despre cmd si am incercat sa execut comanda de cel putin 10 ori si tot nu reusesc sa fac ce mi-am propus. E frustrant ca m-am apucat de GameSalad pe 18 mai, deja peste 2 luni in care inca nu am lansat aplicatia si m-as apuca sa mai fac 10-20 de nivele, sa adaug obiecte si alte distractii.

Attached Files


Edited by Bogdan199O, 24 July 2016 - 13:29.


Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate