Cerca con Google

Translate

29 novembre 2013

Tutorial 59 - Compilazione di app più grandi di 5Mb in App Inventor (AiLiveComplete!)


Continuiamo a vedere l'utilizzo di App Inventor in offline, utilizziamo sempre il progetto AiLiveComplete! (se non lo avete già fatto seguite il Tutorial 58 per la sua installazione)

Questa volta andiamo a vedere come sia possibile compilare dei progetti più grandi dei 5Mb massimi consentiti da tutte le versioni attuali di App Inventor.


Utilizzeremo un particolare file batch da personalizzare di volta in volta per la compilazione del nostro file AppInventor in formato .zip.

La procedura è alquanto semplice, basta cambiare all'interno di questo file come vi mostro nel video queste tre cose:
1 - il path al file .zip del vostro progetto
2 - la vostra email
3 - la directory su cui volete salvare l'.apk compilato

Dopodichè andremo a lanciare il file batch che provvederà a compilare (si spera senza problemi) il nostro progetto permettendoci appunto di realizzare app più "grosse" di 5Mb.

Buona visione!


Potete scaricare il file batch del video salvandolo dal mio Google Drive cliccando qua:
buildserver-apk-seblogapps.cmd

Per comodità o se avete problemi con GDrive lo riporto anche in forma testuale:


Per ogni ulteriore informazione usate pure i commenti qui sotto oppure i commenti di YouTube o il forum :)

26 commenti:

  1. ciao seba, mica hai fatto qualche tutorial per controllo da remoto??

    RispondiElimina
  2. Ciao, sto seguendo tutti i tuoi tutorial che trovo molto ben fatti e credo che solo tu possa aiutarmi! Ho un piccolo problema e non riesco a venirne a capo: sto facendo un'app che contiene delle immagini con testo e non riesco a farle scalare su display più grandi (o restano piccole (utilizzando l opzione per lo scaling su display grandi di app to market) o si vedono sgranate (lasciando la risoluzione base dell app). ho provato a creare file html con immagini ma: 1) le immagini non me le carica il web viewer e 2) mi mette una scroll bar orizzontale perchè il file html è più grande dello schermo! Come cacchio faccio a far vedere bene queste immagini su tutti i dispositivi??? grazie in anticipo!

    RispondiElimina
    Risposte
    1. Ciao Gabriele, sembra che tu mi abbia letto nel pensiero...voglio infatti fare il prossimo tutorial proprio su questo argomento :)
      ad ogni modo ti do un'anteprima, basta che tu usi dei canvas o delle immagini e che per ognuna di essa nello screen initialize vai a ridimensionarla in base alla larghezza ed altezza del tuo dispositivo,
      ad esempio quindi per settare la larghezza e altezza di un componente il codice da inserire sarà:
      component.width = (component.width/480) x screen1.width
      component.height = (component.height/320) x screen1.height
      visto che AI di base lavora a 320x480px così facendo riscaliamo tutto alla risoluzione attuale del dispositivo,
      è lungo e noioso ma ad oggi è l'unico metodo,
      se non hai molti elementi grafici ti consiglio di caricare immagini con risoluzione "alta" e poi lasciare alla routine qui sopra il compito di riscalare il tutto
      fammi sapere come va, ciao!

      Elimina
    2. Forse volevi dire:
      component.width = (component.width/320) x screen1.width
      component.height = (component.height/480) x screen1.height

      E comunque dopo vari tentativi, sono arrivato alla conclusione che (se passi l'app per appToMarket) e meglio usare 360x615
      E fai tutti i tuoi files basandoti su su di un area di lavoro 800x1367, lunico inconveniente e che i tablet sono 800x1207 quindi se usi un immagine a schermo intero si distorce un po, in questo caso e solo per immagini a schermo intero io invece di usare (component.height/615) uso 533 (l'ideale per i tablet e 480, ma poi si distorce troppo sui phone, perche l'ideale per i phone e 615, quindi uso 533 che e una via di mezzo che distorce l'immagine sia sui phone che tablet ma meno cosi non si nota tanto)

      E si, come dice Sebastiano "è lungo e noioso" e a volte complicato, ma se vuoi un app che si adatti a tutto si deve fare.
      Spero che sia tutto chiaro, con tutti questi numeri.

      Buona notizia con AI2 fare questo procedimento e molto piu veloce. a confronto e una passeggiata.


      AppToMarket Screen:
      WithActionBar 360x590 800x1311
      NoTitleBar 360x615 800x1367 tablet 800x1207
      NoTitleBarFullScreen 360x640 800x1422

      Elimina
    3. Ciao Benedetto, le tue considerazioni sono esatte, dalla mia esperienza ho visto che comunque ogni telefono e/o tablet ha risoluzioni leggermente diverse, ad esempio il mio Asus TF101 da come risoluzione 800x1199 dopo che passo l'app in App2Market con resize=yes
      Una buona soluzione è quella di trovare un rapporto di scala tra dimensioni di App inventor 320x480 e la risoluzione del device e poi riscalare di questo fattore tutte le immagini sia in verticale che in orizzontale,
      l'approcio scritto sopra non va sempre bene, sopratutto perchè spesso il rapporto altezza/larghezza dei telefoni cambia e così se ridimensioniamo sempre le immagini rispetto il 320 e il 480 abbiamo delle distorsioni,
      tra poco pubblico un nuovo video ed un nuovo tutorial in cui cerco di spiegare tutto questo... :)

      Elimina
  3. Grazie mille per la risposta! Il problema = che sono un pò troppe immagini da dover riadattare...ti spiego cosa voglio fare con la mia app: vorrei creare un app di consultazione, diversi oggetti divisi per categorie con una immagine e descrizione (ho creato file ong su photoshop con miniature e descrizioni perchè è impossibile creare testi formattati affiancanti alle immagini). Se hai in mente altri metodi per sviluppare il mio progetto sono tutt'orecchie!

    RispondiElimina
    Risposte
    1. potresti iniziare provando a creare una procedura che fa il lavoro che ti ho detto qui sopra, purtroppo altri metodi non credo esistano al momento...

      Elimina
    2. Ti ringrazio, appena torno dal lavoro provo immediatamente! Scusa l ignoranza ma impostando la risoluzione del mio tablet per ogni componente poi verra scalata bene su dispositivi di piccole dimensioni? O le immagini le vedro sempre un po sgranate?

      Elimina
    3. L'idea è di partire da immagini ad alta risoluzione e poi riscalarle verso il basso proprio per evitare che si sgranino, sto facendo delle prove anch'io , non è semplice perchè ci son tanti elementi in gioco, ti aggiorno se scopro qualcosa di nuovo, tu intanto prova così!

      Elimina
    4. Se ti va di farlo in html scricati:
      http://www.inpixelitrust.fr/blog/wp-content/plugins/download-monitor/download.php?id=7
      e modifichi tutto a tuo piacimento
      e se vuoi vederlo in funzione in un app scaricati
      http://goo.gl/Mlc2AM
      e un app fatta da me e messa su play proprio ieri, e nel menu corsi trovi l'esempio in html modificato, si adatta a tutti i tablet, phone, orizzontale, verticale, e se usi immagini non devi specificare i px in html

      Elimina
  4. Tutto alla perfezione!! Funziona alla grande!! grande sebastiano! ora però devo risolvere il problema n.2, la dimensione dell'app. Ho provato il tuorial per installare ailivecomplete ma non riesco ad avviare il server builder (neanche usando il prompt dei comandi), mi si chiude sempre...

    RispondiElimina
    Risposte
    1. Se vuoi puoi usare un altro metodo, senza ailive, ma con appToMarket.
      Fai quello che devi fare con App Inventor classic, ma senza caricare le immagini ( o altri files ) se vuoi puoi caricarti i files in bassa risoluzione cosi solo per referenza. dovo aver compilato l'app, vai su AppToMarket vai su Browse e ti scegli il tuo file .apk e decompili l'app. A questo punto vai nel folder di appToMarket e in temp_myDecompiles trovi la cartella assets, metti li tutti i files che ti servono senza limiti ( il limite di google play e 50MB ) e se usi i files in bassa risoluzione per referenza li sostituisci con quelli veri.
      Fatto, semplice e veloce.

      Elimina
    2. Per Gabriele, potresti postare qui tutto l'output della finestra di dos (magari usando il sito pastebin) , altrimenti descrivi un errore troppo generico per poterti aiutare...

      Come dice benedetto un'altra soluzione è quella di sostituire le immagini in un secondo momento, dopo aver decompilato il file apk, è un'altra soluzione possibile al tuo problema...

      Elimina
  5. ciao! Intanto grazie per questi tutorial, fatti benissimo e benissimo commentati.
    Allora, ho un esamino di informatica per il quale devo fare una App. Ho studiato bene questo tutorial perchè la mia è sui 13 mb. Ora, faccio tutto per bene, ma quando arrivo alla fase finale - quando copio buildserver-apk-seblogapps in cmd - non mi carica il mio file zippato dicendomi: Problem opening inout zip file.
    Cosa mi consigli? Devo assolutamente risolvere causa esame imminente!
    A presto!

    RispondiElimina
  6. ciao, ho un problema ! ho creato la mia app, superiore di 5mb e quando la passo sul pc le canzoni che ho messo nell app si sentono tutte per circa 5 secondi e poi si stoppano automaticamente! il problema e dovuto alle grandi dimensioni dell app ? ogni canzone e di 4 mega e ne ho messe 15 con 15 immagini di poco peso. Ti prego aiutami

    RispondiElimina
  7. Non riesco a scaricare il progetto in formato .zip , non mi esce l'opzione..cosa faccio?

    RispondiElimina
  8. ciao Sebastiano!. dovrei chiederti una cosa: premessa che io sto utilizzando mit2 , e di conseguenza ai2livecomplete . sono riuscito a caricare il mio progetto ma quando cerco di importarlo nel mio computer in formato zip questo mi viene solamente scaricato in file AIA. e naturalmente non riconoscibile dal programma startaiserver. come posso fare ? grazie in anticipo!!!

    RispondiElimina
    Risposte
    1. I file di AI1 non sono compatibili con quelli di AI2 e viceversa, se ho capito la tua domanda...

      Mentre per Ai2 se vuoi compilare app più grandi di 5Mb il procedimento è lo stesso, solo che devi passare nel batch file il file .aia e non il file .zip e devi usare la versione offline di Ai2

      Elimina
  9. Mi chiedevo se la modifica del file batch funziona anche con AI2 dal momento che stò impazzendo per compilare un'app di 24 MB sul mio pc e continuo a ricevere risposta file più grande di 5 MB DOVE SBAGLIO??? grazie per l'aiuto

    RispondiElimina
    Risposte
    1. Funziona allo stesso modo anche per i progetti creati con Ai2 , ovviamente devi usare il progetto di Ai2LiveComplete Offline che trovi qui:
      http://sourceforge.net/projects/ailivecomplete/files/?source=navbar
      (cerca Ai2Offline quello con la data più recente)
      poi il file batch è lo stesso e funziona allo stesso modo, solo che il file da dare in pasto allo script è un file .aia e non il file .zip

      Elimina
  10. Salve a tutti, se ho capito bene Ai Live complete no esiste per Mac ?

    RispondiElimina
    Risposte
    1. corretto, AiLiveComplete è stato creato per girare solo su Windows PC,
      ma se parti dai sorgenti ufficiali di App Inventor e segui le istruzioni spiegano come compilare App Inventor per farlo girare standalone anche su Mac (mi dispiace ma non avendo Mac non ti so aiutare più di così)

      Elimina