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

#19
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
(1)
Acum ca ai un zipalign.exe pe desktop, nu ar fi mai simplu sa folosesti cu incredere butonul ‘’ din dreapta zonei ‘zipalign’ a ecranului de semnare din Game Salad si sa alegi zipalign.exe pe care il ai pe desktop? SAU sa copiezi executabilul in subdirectorul ‘APK Signing\’ de pe desktop (ca tot ai Game Salad parametrat asa)? Si apoi sa reincerci semnarea?

Spui ca Game Salad se ocupa doar de semnare nu si de aliniere, ca nu e nimic legat de aliniere acolo. Dar zona ‘zipalign’ ce este? Adevarat ca nu exista buton separat pentru aliniere, dar daca te uiti la clipul postat de colegul @xxvirusxx, pe la 00:29 vei observa ca nici Android Studio nu are nimic de aliniere in meniu sau dialogbox, dar sigur face alinierea fiindca se supara cand nu gaseste utilitarul respectiv. Nu e obligatoriu ca Game Salad sa functioneze la fel, totusi…

(2)
In prima captura iti lipseste o ghilimea dupa prima ocurenta ‘.apk’.

In a doua captura:
  • Parantezele drepte (‘[]’) se folosesc in descrierea sintaxei unei comenzi pentru a indica elemente optionale.
  • <>’ sunt folosite pentru a numi si indica locul unui parametru care trebuie specificat (inlocuind ‘<>’) in  functie de necesitati; de exemplu unde scrie ‘<align>’ trebuie sa pui o valoare care indica alinierea, in acest context cifra 4;
  • In linia de comanda efectiva (NU in descrierea sintaxei), un ‘<’ cere redirectarea fisierului standard de intrare (eg cel ce ia locul tastaturii) si primesti ‘The systemn cannot find the specified file’ fiindca incearca sa foloseasca fisierul ‘align’ care nu exista.
  • Tot in linia de comanda un ‘>’ indica redirectarea iesirii - in loc sa afiseze pe ecran scrie in acel fisier. Tu ii ceri sa scrie in "C:\Users\…etc…\InfiniteStar.apk", adica sa il strice inainte de a-l alinia! (Unde mai pui ca e si blocat pe durata comenzii si nu poate fi accesat.)
  • 'zipalign' is not a recognized …etc’ i se trage de la faptul ce nu gaseste executabilul respectiv. Fiindca nu ai specificat directorul unde sa il caute, il cauta in intai in directorul curent (indicat de prompt: C:\, deci radacina discului C:) mai apoi si prin alte locuri standard. Tu il ai pe desktop, unde nu il cauta (nu e din locurile standard), deci nu are cum sa il gaseasca.
  • In general, cam in tot ce e acolo a luat-o pe aratura. Si ti-a si stricat acea copie de APK.
In a treia captura: similar cu captura a doua.

Inteleg ca ai pe desktop executabilul + 2 directoare, in 1\ ai pus (pui din nou, ca probabil s-a stricat dupa cele de mai sus) InfiniteStar.apk semnat si nealiniat. Mai inteleg ca numele de utilizator e ALEX si deci Desktop-ul este in C:\Users\ALEX\Desktop. Atunci executa asa:
cd C:\Users\ALEX\Desktop /D
dir
zipalign 4 1\InfiniteStar.apk 2\InfiniteStar.apk
Obtii APK-ul alinit in directorul 2\. Prima comanda schimba discul+directorul implicite pe desktop. A doua listeaza ce e in directorul curent, pentru verificare, si trebuie sa vezi pe acolo zipalign.exe si cele doua subdirectoare 1 si 2. Apoi in sfarsit faci alinierea; in parametrii folosesti path-uri relative pentru a nu mai scrie asa mult.

Pentru a verifica alinierea, dupa acel cd care te duce pe desktop executi
zipalign -c 4 2\InfiniteStar.apk

Edited by sags, 24 July 2016 - 19:39.


#20
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Multumesc inca o data pentru explicatii!

Am incercat sa fac zipalign cu GameSalad, iar la postarea .apk-ului pe Google imi spune ca aplicatia nu este aliniata.

Apoi am incercat sa fac zipalign in cmd, bineinteles la aplicatia semnata folosind GameSalad. Am incarcat aplicatia pe Google si imi spune ca nu este semnata.

Am semnat si facut zipalign la aplicatie (ambele operatii) doar cu GameSalad. Cand am incarcat aplicatia pe Google, mi-a spus ca nu am facut zipalign. Foarte ciudat...

Asa ca am vrut sa o semnez si sa ii fac zipalign in cmd. Si ce sa vad, imi da eroare
"The program can't start because jli.dll is missing from your computer. Try reinstalling the program to fix this problem."

Am descarcat jli.dll de pe net si din toate paginile citite, nu am inteles unde sa il pun. Asa ca l-am pus in folderul de utilitare java din C, in cazul meu C:\Program Files\Java\jre1.8.0_91 Mai exista un fisier jli.dll acolo, tot de 155 kb, doar ca asta care l-am pus eu zicea ca e un pic mai mare (tot cam 155 kb).

Am incercat din nou sa semnez aplicatia folosind cmd si imi da aceeasi eroare cu jli.dll.

Edit: atunci cand incerc sa semnez cu GameSalad, pare ca merge sa semneze aplicatia, ma intreaba un nume pentru fisierul nou creat (aplicatia semnata), apoi imi scrie "APK was signed", dar in folderul unde i-am dat sa salveze nu se afla nimic, nu face un fisier nou, adica pare ca merge, dar nu face nimic.

Am urmat instructiunile de aici [ https://www.youtube-nocookie.com/embed/k0g0PzzkUyo?feature=oembed - Pentru incarcare in pagina (embed) Click aici ] si primesc eroarea:

Error: A JNI error has occurred, please check your installation and try again.

Edited by Bogdan199O, 30 July 2016 - 13:30.


#21
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013

View PostBogdan199O, on 30 iulie 2016 - 13:11, said:


Edit: atunci cand incerc sa semnez cu GameSalad, pare ca merge sa semneze aplicatia, ma intreaba un nume pentru fisierul nou creat (aplicatia semnata), apoi imi scrie "APK was signed", dar in folderul unde i-am dat sa salveze nu se afla nimic, nu face un fisier nou, adica pare ca merge, dar nu face nimic. …
Sa incercam ceva, cine stie: evita spatiile (si unele caractere speciale, egal/ etc) din nume de directoare si de fisiere; semnul minus si liniuta de subliniere pot fi folosite si sunt suficient de bune pentru a separa vizual cuvinte. Daca nu trateaza corect asemena caractere speciale ele ‘sparg’ ceea ce ar trebui sa fie un singur argument in mai multe si comenzile executate nu vor mai merge.

De exemplu, tinand cont de cum ai parametrarea in captura atasata la mesajul #12, schimba numele directorului APK<spatiu>Signing in APKSigning (fara spatiu) apoi foloseste butonul pentru a indica fiecare din cele 3 utilitare. Asa te si convingi ca ele chiar sunt acolo. Similar, pune APK-ul intr-un director fara nici un spatiu in calea completa, de exemplu foloseste Aplicatie-nesemnata in loc de Aplicatie<spatiu>nesemnata (restul caii e ok, vad ca nu are caractere speciale). Fisierul de iesire sa fie tot asa fara caractere speciale in cale si nume.

Apoi incearca din nou, vezi daca iti creeaza APK-ul de iesire si daca Google il accepta. Daca il creeaza, Google nu il accepta, si nu e prea mare, eventual trimite-mi un PM cu el atasat sa ii dau si eu o verificare ca zipalign am.

Cel mai bine e sa faci Game Salad sa mearga ok. Cu linia de comanda nu faci decat sa introduci si mai multa incertitudine, mai ales ca vad ca nu te descurci. Iar in privinta ietuvelor, renunta la ele. Chiar daca poate fi util sa ilustreze ceva comenzi, in clipul de mai sus eu vad in primul rand un balbait care incurca Windows cu Linux (sorry, dar asta e parerea mea).

Daca ai facut totul (instalare + parametrare + modul de operare, nu lua executabile si DLL-uri random de pe net) EXACT cum zic cei de la Game Salad si tot nu reusesti, stii ca pe gamesalad.com exista un chat, nu? Si un forum? Poate e un bug de care ei stiu. Eu nu am si nu voi instala (si plati) Game Salad ca sa incerc.

#22
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Am modificat numele folderelor asa cum mi-ai spus.

Mai nou, Game Salad nu mai reuseste sa creeze nici keystore nou, ori sa foloseasca unul existent. Dupa ce introduc numele noului keystore, parola si reintroduc parola pentru confirmare, imi apare o fereastra in care sa salvez noul keystore, dar nu creeaza nimic. De asemenea, nu merge sa apas butonul Sign(e gri, inactiv), adica GameSalad stie ca nu a putut sa creeze keystore nou.

Cand selectez un keystore vechi, creat cu cmd, dupa ce completez adresa jarsigner si zipalign, imi da unknown error while reading keystore.

Am citit zilele trecute pe forumul GameSalad, am recitit si azi si am deschis un topic nou. 2 useri deja mi-au spus sa dezinstalez si sa reinstalez toate utilitarele necesare... am facut asta si nu am reusit sa semnez si sa fac zipalign la aplicatie, astfel incat sa fie acceptata de Google. Pe chat am discutat cu cineva de la suport, dar raspunde rar, si nu in timp real: i-am scris ieri problema mea in 2 fraze, a raspuns azi noapte, acum imi apare ca nu mai este online de 18 ore, aiurea ca nu e cineva online, chiar daca e weekend.

Azi am sters aplicatia semnata duminica trecuta, am vrut sa o iau de la inceput sa fie totul ok... si oricum am mai schimbat cate ceva in aplicatie, asa ca trebuia sa o semnez din nou, ceea ce se pare ca nu mai pot. Dupa ce voi reusi sa o semnez, daca nu voi putea face si zipalign, o sa iti dau PM.

Edited by Bogdan199O, 30 July 2016 - 21:16.


#23
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Cel mai probabil imposibilitatea de a semna e legata de problema cu jli.dll pe care o vezi cand incerci din linia de comanda. Sau ai sters ceva, sau nu utilizezi JDK pe care zici ca l-ai instalat, sau JDk-ul s-a instalat prost (de exemplu antivirusul l-a impiedicat sa creeze acel dll).

Din pacate nu stiu ce altceva sa faci decat sa reinstalezi acele dependinte, atat JDK cat si Android SDK ca sa fii sigur. Inainte de a reinstala, in ‘Control Panel’/ ‘Programs and Features’ (sau ‘Uninstall a program’) dezinstaleaza tot ce tine de Java, Java Development Kit si Android SDK, apoi rebooteaza sistemul.

Eu am incercat o instalare de test a utilitarelor exact cum descriu cei de la Game Salad <http://help.gamesala...d-with-android/>. Am folosit:
  • jdk-8u102-windows-x64.exe pentru Java SE Development Kit (care instaleaza si runtime-ul de Java)
  • installer_r24.4.1-windows.exe pentru Android SDK. Atentie ca la un moment dat (punctul #14 + poza de deasupra lui) ai o bifa sa execute Android SDK Manager; o lasi bifata sa adaugi niste componente cum zice in instructiuni. Verificarea ca le ai pe toate este cf instructiuni punctul #18 (cu poza de deasupra lui). Mai ai grija ca ‘… Build-tools’ sa fie versiunea cea mai recenta, unele vechi nu includ zipalign.
Ca sa verifici ca utilitarele se pot rula, deschide cmd si executa:
"C:\Program Files\Java\jdk1.8.0_102\bin\keytool.exe" --help
"C:\Program Files\Java\jdk1.8.0_102\bin\jarsigner.exe" --help
"C:\Program Files (x86)\Android\android-sdk\build-tools\24.0.1\zipalign.exe" --help
Bineinteles adaptezi caile in functie de unde ai instalat. Directoarele ‘de baza’ sunt afisate in timpul instalarilor (punctele #5 si #12 cu pozele de deasupra lor); chiar daca nu schimbi nimic, pot varia de exemplu numerele in functie de versiunea exacta.

Odata ce totul e ok aici, modifici parametrajul din Game Salad sa foloseasca exact aceste utilitare din exact aceste directoare (disc + cale + nume fisier + extensie .exe, bineinteles fara --help), si nu mai are voie sa nu mearga… Nu [mai] ai nevoie de ce alte executablie/ dll-uri ai luat de pe net (gen ce ai pus in ‘APK Signing’, o fi incomplet).

Edited by sags, 31 July 2016 - 07:28.


#24
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Am dezinstalat Android SDK si utilitarele Java, cu toate update-urile.

Apoi am restartat si am instalat cea mai noua versiune de Java, cu utilitarul corespunzator versiunii mele de Windows. Am reinstalat si Android SDK. Am dezinstalat si reinstalat GameSalad. La urma am rulat tool-ul din GameSalad pentru semnare si zipalign (tot atunci am creat un keystore nou). M-am asigurat ca GameSalad stie unde sunt utilitarele, exact cele de care are nevoie, totul a mers bine, aplicatia a fost semnata si aliniata.

Google Play pare sa recunoasca aplicatia ca fiind semnata si aliniata, dar imi da aceasta eroare (vezi printscreen). Am incercat sa denumesc fisierul in mai multe feluri, incepand cu litera mica si cu un nume scurt, mult mai mic de 150 de caractere.

Ex: infinitestar.starlexgames.myapp

Oricum o denumesc primesc aceasta eroare. Ma intreb daca nu cumva aplicatia mai are si alta eroare, ceva ce Google Play nu vede (desi ma gandesc ca e putin probabil). Interesant este ca am incercat sa pornesc aplicatia pe 2 tablete (una cu Android 4.4, alta cu Android 5.1)  si un telefon cu Android 6. Pe toate dispozitivele primesc aceeasi eroare:      Erori de analizare       A aparut o problema la analizarea pachetului

Attached Files



#25
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Veste buna ca ai rezolvat cu semnarea + alinierea. Deci pana la urma nu a fost decat o problema de instalare/configurare.



In legatura cu numele pachetului, nu stiu ca sa iti zic. Clar NU respecta conventiile uzuale, dar sintactic pare ok. (Nu ai pus si ‘Ex: ’ ca parte din el, nu? Posted Image Nici nu ai spatii in plus la inceput sau sfarsit?) Nu am idee ce verificari face Google.

Uzanta este ca numele de pachet sa inceapa cu un nume de domeniu care iti apartine, cu elementele in ordine inversa, pentru a asigura unicitatea globala. Mai departe organizezi cum crezi tu, dar in orice caz componentele mai generale vin inaintea celor mai specifice (de exemplu ro.mysitename.games.pokemonstay nu ro.mysitename.pokemonstay.games). Daca nu estimezi ca o sa scrii o tona de aplicatii din diverse domenii, poti sa pui pur si simplu numele aplicatiei pe a treia pozitie fara a crea o ierarhie; de exemplu: ro.starlexgames.infinitestar. Daca nu ai un domeniu si vrei unul, autoritatea care le inregistreaza pe cele .ro este aici <http://www.rotld.ro> (cam 250LEI sa fie al tau pe viata, pana una alta fara alte taxe anuale/etc).

Quote

Package name is the fully qualified name for the project (following the same rules as those for naming packages in the Java programming language). Your package name must be unique across all packages installed on the Android system. You can Edit this value independently from the application name or the company domain.
(sursa: <https://developer.an...ng-project.html>, sublinierea mea)

Quote

Some developers chose to disregard the guideline “com.mydomain.myapp” and use fancy Application package names, e.g. “marcone.toddlerlock” for the ToddlerLock application — this liberal use is likely not recommended but certainly possible.
(sursa: <http://blog.javia.or...d-package-name/>, de notat insa ca articolul e din 2009 si e posibil ca de atunci Google sa fi strans surubul)

Uite alte link-uri despre ID-ul aplicatiei gasite de prietenul Google:

Edited by sags, 02 August 2016 - 08:09.


#26
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Da, am facut sa mearga GameSalad. Acum este simplu, fara sa incerc sa scriu comenzi in cmd sau sa descarc o gramada de utilitare de pe net, care pretind ca face ce a facut GameSalad.

Am citit ieri postul tau si am reincercat sa incarc aplicatia pe Google Play cu alt nume. Inca nu merge... Si bineinteles ca nu am scris "ex" in nume Posted Image la programare nu ma pricep, dar gandesc logic.

Acum 3 zile am incarcat aplicatia pe Amazon. Ei zic ca se testeaza si va fi disponibila in store in noaptea asta de la ora 00:00 ora Californiei.

Multumesc ca ti-ai facut timp sa cauti si sa postezi acele link-uri. Deocamdata am intrat pe ele sa vad despre ce e vorba, o sa ma apuc sa le citesc sambata dupa amiaza cand vin de la servici. Trebuie sa pot posta cumva pe Google Play.

Imi amintesc ca Amazon scria ca semneaza ei aplicatia folosind datele introduse de mine in cont. Eu le-am trimis aplicatia semnata si aliniata. Ma intreb oare daca pot semna ei "peste mine"?

Edited by Bogdan199O, 04 August 2016 - 23:13.


#27
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Am incercat sa incarc aplicatia pe Amazon. Am primit eroarea de mai jos.

Apoi am incarcat fisierul nesemnat, neliniat, am primit aceeasi eroare ( nu am mai facut print screen inca o data ). Trebuie sa editez cumva aplicatia... si nu inteleg ce i-as putea face din GameSalad. Am scris si pe forumul GS si nici acolo nu am aflat ce trebuie sa ii fac.Posted Image

Attached Files



#28
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Respingerea aplicatiei de catre Amazon era de asteptat, din moment ce stiai ca nu se poate instala pe un device real cu Android.

Din ce vad singura indicatie despre ce e in neregula e cu numele pachetului. Eu as incerca asa:
  • Regenerat aplicatia cu un nume ‘canonic’ clar, ro.starlexgames.infinitestar apoi semnat+aliniat. Ai nevoie de Game Salad PRO (nu Basic, nu Free) pentru asta.
  • Deconectat device-ul cu Android de la internet (net mobil + wifi), sa nu poata verifica existenta domeniului starlexgames.ro
  • Copiat APK-ul in memoria device-ului (de exemplu cu cablu USB PC->telefon/tableta)
  • Instalat aplicatia de acolo (fara a trece prin Google Play sau Amazon), dar inainte de a instala la ‘Setari’/ ‘Siguranta’ sa permiti ‘[Instalare din] Surse necunoscute’ (eu am un Android vechi, poate locatia exacta difera la versiunile mai noi).
Daca asa merge e clar ca nu ii place ceva la numele ales de tine. Ce anume nu stiu. Pe net nu am gasit mai mult decat ‘de obicei incepe cu domeniul pe invers’, pareri ca totusi poti pune cam ce vrei, chestii care se bat cap in cap ba ca poti ba ca nu sa folosesti majuscule/ semnul minus/ subliniere, si alte asemenea. Nimic riguros 100%.

Daca nu merge, eu as incerca sa ‘desfac’ aplicatia finala cu APK Tool <https://ibotpeaches.github.io/Apktool/> si sa vad daca nu e ceva evident eronat in manifest. Daca vrei, pune-o undeva pe net si da-mi link in PM (sau ataseaz-o la PM daca e destul de mica) si incerc sa ma uit eu maine; nu am scris aplicatii pentru Android dar poate remarc ceva pe acolo.

#29
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Tocmai mi-am instalat Android Studio si am generat o aplicatie de test avand ca nume de pachet infinitestar.starlexgames.myapp, adica exact cel din mesajul #24 de mai sus. APK-ul obtinut s-a instalat si a rulat fara nici o problema pe un smar’fon cu Android (4.1.2 in cazul meu). Deci clar problema nu este numele, in sine, al pachetului iar mesajul cu ‘lungime maxima 150 de caractere’ este probabil o consecinta a altei erori. Exemplu (teoretic): primul lucru pe care l-ar face Google ar fi obtinerea din manifest a numelui pachetului, ceea ce esueaza din cauza ca manifestul ar fi ‘ilizibil’.

Deci trebuie examinat cu atentie APK-ul pe care il ai. Cine stie peste ce situatie particulara ai dat, fiindca nu imi imaginez ca o eroare atat de grava (generare de APK invalid) sa nu fi fost altfel detectata de dezvoltatori si/sau de alti utilizatori ai Game Salad si sa nu fi fost corectata demult.

Edited by sags, 17 August 2016 - 18:51.


#30
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Am rererereincercat sa incarc .apk-ul atat pe Google Play cat si pe Amazon. Am incercat toate variantele posibile: semnat si aliniat, aliniat si nesemnat, semnat si nealiniat... Am refacut de cateva ori exportul din GameSalad ( sau publish cum ii spun ei ). Inca nu mi-a fost acceptata aplicatia.

Am scris pe forumul GameSalad, unii useri au mai avut diverse probleme, dar nu ce am eu. Cei mai multi doar isi incarca aplicatia si merge. Oricum multi cei de acolo sunt la fel de amatori ca mine.

Le-am trimis mesaje si administratorilor sa ii informez de problema mea. Se pare ca sunt doar niste asociati care modereaza forumul si stau pe chat cu userii care folosesc softul GameSalad. Nu au gasit solutia.

#31
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Oferta mea sa ma uit prin APK, daca m-il dai, ramane. Daca e vorba de acest joc <http://arcade.gamesa...om/games/137966>, cred ca nici nu e mare ca nu pare sa aiba tone de grafica.

Ma intriga problema; chiar nu imi dau seama peste ce ai fi putut da atat de particular, nemaivazut si nemaiauzit (si necorectat) de nimeni altcineva. Oricum in momentul de fata singura cale de urmat mi se pare a fi examinarea APK-ului (cel final, si semnat si aliniat, asa cum vrei sa il publici). Incercarea de upload a aplicatiei in diverse locuri e absolut inutila (si pagubitoare, daca respectivii o lasa sa treaca asa) atata timp cat nu ai reusit sa o faci sa se instaleze (si sa functioneze corect) pe un device fizic, in local.

Edited by sags, 19 August 2016 - 15:59.


#32
Bogdan199O

Bogdan199O

    Member

  • Grup: Members
  • Posts: 507
  • Înscris: 16.03.2015
Da, asta este jocul. E destul de simplu si mic ( 10 nivele cu grafica pe care ai vazut-o ).  Are 15 mb. Ti-am trimis .apk-ul pe mail.

Succes!

#33
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Pana la urma am urnit-o, vezi captura atasata Posted Image
IN PRIMUL RAND aplicatia nu e 100% in Java ci contine cod nativ pentru procesoare ARMv7a. Ceea ce inseamna ca nu se instaleaza (eroare INSTALL_FAILED_NO_MATCHING_ABIS) si nu va rula in veci de dispozitive cu procesor Intel, cum ar fi Asus Zenfone si altele. Tu nu ai ce face, cel mult sa ii rogi pe cei de la Game Salad sa ia in considerare adaugarea codului nativ si in versiune x86. Cand testezi in local ai grija sa nu folosesti un asemenea device.

IN AL DOILEA RAND am ajuns la concluzia ca manifestul contine ceva erori dar ceea ce impiedica instalarea este totusi numele pachetului. Mai precis numele este InfiniteStar, iar Androidu’ se pare ca vrea ca aiba minim 2 componente separate cu punct chiar daca nu verifica sa fie un nume real de domeniu.

Testele au fost facute pe un Nexus One emulat.
  • APK-ul original -> semnat+aliniat -> eroare INSTALL_FAILED_INVALID_APK
  • APK-ul original -> desfacut cu APK Tool -> (nemodificat) -> reimpachetat cu APK Tool -> semnat+aliniat -> tot eroare INSTALL_FAILED_INVALID_APK
  • APK-ul original -> desfacut cu APK Tool -> modificat numele pachetului din InfiniteStar in InfiniteStar.starlexgames -> reimpachetat cu APK Tool -> semnat+aliniat -> se instaleaza si porneste. (Dupa ce porneste aplicatia device-ul emulat se reseteaza dar asta e alta treaba. Poate fi de exemplu din cauza memoriei insuficiente.)
Daca tu ai specificat, la generarea APK-ului pe care mi l-ai dat, un alt nume (cu 2-3 componente) atunci e vorba de o eroare in Game Salad fiindca nu respecta ce i-ai zis tu. Ciudat este ca altora le merge…

IN AL TREILEA RAND manifestul incalca o cerinta precisa:

Quote

File conventions
This section describes the conventions and rules that apply generally to all of the elements and attributes in the manifest file.
Elements


Elements at the same level are generally not ordered. … There are two key exceptions to this rule:
• …
• The <application> element must be the last element inside the <manifest> element. In other words, the </application> closing tag must appear immediately before the </manifest> closing tag.

Sursa: <https://developer.an...fest-intro.html>


Mai precis manifestul contine <uses-feature android:name="android.hardware.touchscreen" android:required="true"/> dupa elementul <application/>. Desi in acest caz particular instalarea nu a fost impiedicata, s-ar putea ca pe o alta versiune de Android sa nu mai merga si/sau ce e dupa <application/> sa nu fie luat in considerare. Este ceva ce trebuie sa corecteze cei de la Game Salad pe partea de generare APK.

Atasez pe PM manifestul original si cel cu modificarea minima care a permis instalarea, poate ar trebui sa le trimiti la suportul tehnic impreuna cu explicatiile.

NU IN ULTIMUL RAND ca importanta, dat fiind numeroasele probleme cu APK-ul NU iti recomand sa faci un ‘upload to production’ inainte de:
  • A testa in local bine de tot.
  • [Recomandabil] A testa pe un emulator, care iti permite sa creezi configuratii (memorie/ rezolutie/ senzori/ etc) mult mai multe decat poti avea device-uri fizice. Din pacate emulatorul pentru ARM merge cu viteza melcului extenuat, iar cel pentru procesoare x86 nu il poti folosi din cauza chestiunii cu codul nativ de care am zis la inceput.
  • A face upload ca versiune alpha si testa pana la capat: instalare - functionare - in-app purchase - dezinstalare/reinstalare - etc. Aici trebuie sa vezi exact cum e cu versiuni alpha in Google Play, ca eu parca am vazut ca exista dar nu m-am uitat bine.

Attached Files


Edited by sags, 20 August 2016 - 21:09.


Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

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