Cerca con Google

Translate

15 marzo 2013

Tutorial 42 - Usare App Inventor in locale e modificare AndroidManifest.xml


Tutorial per utenti esperti!!!

Ritorniamo a parlare del progetto Ai4A (che significa App Inventor for all) ed è la versione di App Inventor che può girare offline.

Nel tutorial 41 abbiamo visto come si fa ad installare tutto il necessario sul nostro pc, oggi vediamo un ulteriore approfondimento sul suo utilizzo che ci permetterà di modificare il file AndroidManifest.xml e compilare il nostro apk con il nuovo manifest.


Visto che ultimamente Marketizer Cloud ci sta dando un pò di grattacapi (sembra che il suo sviluppo sia stato interrotto ed il sito sia spesso irraggiungibile), ritengo sia interessante vedere una possibile alternativa alla creazione di applicazioni ed alla loro compilazione dandoci la possibilità di editare il manifest a proprio piacimento.

Ovviamente requisito fondamentale è che abbiate seguito con successo il
Tutorial 41

Riporto per comodità la discussione in google gruppi dove si parla di questa funzione di ai4a:
https://groups.google.com/forum/#!starred/ai4a/nRnYudHZt18

Il procedimento prevede la creazione di una cartella specifica dove il build server creerà una versione dell'AndroidManifest.xml che potremmo poi modificare e che verrà utilizzata sempre dal build server per la compilazione della nostra app.

Nell'esempio del video (uso Win7), l'utente che utilizza App Inventor 4 all è "seblogapps", quindi la cartella da creare ai4a va creata nel seguente path:
C:\Users\seblogapps\AppData\Local\Temp\
ed il file manifest (che inizialmente può essere semplicemente un file di testo vuoto) avrà nome:
appinventor.ai_seblogapps.TriumphSound.xml

Attenzione!!! la parte in rosso dev'essere il vostro nome utente con cui utilizzate ai4a
e la parte in viola deve essere il nome del progetto (maiuscole minuscole esatte!) così come lo vedete nel design editor.

Dopo aver lanciato il package for phone per la prima volta, questo file xml sarà il manifest del nostro progetto, facciamone una copia e rinominiamolo esattamente in:
appinventor.ai_seblogapps.TriumphSound.AndroidManifest.xml
A questo punto possiamo modificare questo file xml (consiglio il programma gratuito XmlPad) che verrà utilizzato in tutte le successive compilazioni della nostra app.

In questo modo per esempio potete sistemare il manifest per cambiare il titolo dell'app, aggiungere il supporto a tutte le risoluzioni, togliere la title bar, insomma preparare la nostra app al meglio per la pubblicazione sul Play Store

Guardate il video per chiarirvi ogni ulteriore dubbio:


Attenzione al keystore con cui le applicazioni vengono firmate,
se dovete pubblicare una nuova app nel Play Store nessun problema (la vostra chiave sarà chiamata "android.keystore" e la password sarà "AndroidKey")
Però se avete già un app pubblicata con una chiave diversa , non potrete inserirla in ai4a perchè lui si aspetta sempre che il nome della chiave sia android.keystore e la pwd sia quella di default! attenzione quindi a quello che fate!!! Purtroppo questo vorrà dire che applicazioni già pubblicate da noi con Marketizer non potranno essere aggiornate utilizzando la compilazione in locale con ai4a.

Per discussioni problemi e commenti, potete utilizzare gli appositi commenti o la discussione sul forum QUA!



13 commenti:

  1. Ciao Seba, innanzitutto complimenti per il blog, scrivo qua perchè non so dove altro chiederti, scusa se sono OT.

    Volevo sapere secondo te qual'è il metodo migliore per fare uno screen tipo ''gallery'' di foto in AI, che si scorrano cliccando su di esse oppure sfogliabili tramite bottoni oppure che si possano slidare scorrendo..ecc
    grazie per ogni info
    ciao! Luca

    RispondiElimina
    Risposte
    1. per questa volta ti perdono ;)
      puoi usare un canvas e la funzione .flung, qui hai un ottimo e semplice esempio che ti dimostra come fare una galleria in cui puoi scorrere le immagini con degli swipe dx/sx:

      http://puravidaapps.com/snippets.php#flung

      Elimina
  2. Ciao io ti volevo chiedere una cosa a parte..... ti volevo chiedere come hai fatto a mettere la tua icona in alto(simbolo android co un cerchio attorno)anche io ho blogspot..........
    Il mio sito e' http://insidefacer.blogspot.it/
    Ciao in anticipo

    RispondiElimina
    Risposte
    1. devi andare su "layout" e trovi la voce "icona preferita" da li la imposti come preferisci

      Elimina
  3. Ciao e complimenti per i tutorial,
    volevo farti una domanda riguardo un applicazione creata con app inventor trattasi di un semplice player che riproduce lo streaming della mia radio shoutcast vorrei far uscire anche i titoli sullo schermo mentre si sentono i brani riprodotti, ma non riesco a trovare una guida.
    Ti ringrazio anticipatamente
    ciao Luca

    RispondiElimina
    Risposte
    1. ciao, purtroppo se queste informazioni non le puoi recuperare perchè magari non sono pubblicate anche in una pagina html legata allo streaming, non ci puoi fare nulla.
      Se invece che ne so, il tuo streaming ha anche una pagina in html dove mette titolo della canzone, allora potresti usare il componente web per leggere la pagina ed estrarre dall'html il titolo della canzone.

      Elimina
    2. Perfetto grazie mille
      solo un ultima domanda abbi pazienza, ma è solo da qualche giorno che uso app inventor, ho estratto la stringa dall'html che da il courrent song quindi imposto la pagina html nel componente web dopodichè nell' editor blocchi come devo impostare per far leggere questa sortaa di frame?
      grazie mille e ancora complimenti per la velocità nelle risposte

      Elimina
    3. Puoi vedere i tutorial sul componente web o sulla lettura di file xml, la procedura sarà molto simile.
      In pratica col componente web leggi la pagina html che hai creato, poi sta a te estrarre e formattare le informazioni con le funzioni testuali messe a disposizione da AI.

      Elimina
  4. Ciao,
    mi sembra di essere entrato in un circolo vizioso.. per la mia App di test ho bisogno di modificare il manifest che pero' non posso modificare perche' non riesco in nessun modo a compilare tramite ai4a per il solito problema DX (con 8gb di ram, 20% ram occupata, Xmx a 1g sistema a 64bit ma java a 32).. ed inoltre la versione attuale di ai4a non funziona con l'AICompanion.. ci sono altri modi per modificare il manifest direattamente da app inventor?

    RispondiElimina
    Risposte
    1. magie di windows.. reboot e ora funziona tutto (a parte l'AICompanion, ma li' bisogna aspettare nuova release di ai4a)

      Elimina
  5. Ciao,
    sopra hai fatto cenno che si può togliere la title bar agendo sul manifest, come si fa?
    Grazie anticipatamente.
    Sergio

    RispondiElimina
    Risposte
    1. puoi guardare i tutorial per la pubblicazione su play store con Marketizer o App2Market, ora non ricordo esattamente il tag da cambiare, ma mi pare che in quei tutorial si capisca, ciao!

      Elimina
  6. Ciao seb, sai cosa posso usare per modificare il manifest dal Mac?

    RispondiElimina