Autore Topic: [Android] Expansion File (a.k.a. pain in the butt)  (Letto 2432 volte)

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
[Android] Expansion File (a.k.a. pain in the butt)
« il: 08 Marzo 2012, 11:21:19 »
Copio-incollo una serie di rant-post che ho scritto sul mio profilo Google+...

Citazione
Antonio Barba
Con ben 305 MB di file APK (di cui 299MB di immagini in alta risoluzione, 5MB di filmato introduttivo, e soli 25KB di codice), sviluppare e debuggare questa applicazione sta diventando rapidamente un'impresa. 5 minuti solo per uploadare l'APK su telefono :-

PS: ... e devo ancora aggiungere altri 145MB di contenuti audio!
PPS: ... maratona di coding non stop fino al rilascio sul marketplace
PPPS: ... tempi di sviluppo risicatissimi => I do little to no testing at all!

Utente X
Scusa l'ignoranza, ma non c'è il limite di 50 mb per un'app? (teoricamente...) :D

Antonio Barba
Si, infatti il prossimo step consiste nello scorporare la cartella "asset" in un Expansion Pack esterno e lasciare l'APK di base a "soli" 7MB cfr. http://developer.android.com/guide/mark ... files.html

Utente X
Questa feature è stata inserita da poco o sbaglio? Forse per far fronte alle nuove necessità... molto comoda come cosa, sopratutto perché è gestita sempre tramite il market! :D

Antonio Barba
è stata inserita meno di 24 ore fa... questa sarà probabilmente la primissima applicazione ad usare tale framework (more difficult!!) :D

Utente X
Cavolo, complimenti!!! :D

Antonio Barba
Comunque questo stratagemma degli Expansion Packs per arrivare a 4GB è un casino, ho dovuto fixare un paio di bug nella libreria di supporto ufficiale:

1. apre lo stesso file N volte, dove N è il numero dei file zippati in esso contenuti. Dal momento che ho caricato un file zip con centinaia di files, crashava più o meno verso la metà perchè sfondavo il limite dei file aperti simultaneamente (bastava mettere un banalissimo File.close() in fondo ad un ciclo for)
2. Riesegue la verifica del CRC32 ad ogni avvio. Per fixarlo ho inserito un "verification file" che serve a skippare velocemente la fase di CRC dal secondo avvio in poi. Viene generato tale file, e memorizzato nella cache, se la passata di CRC32 e la decompressione dell'archivio avviene con successo. Dal secondo avvio, l'applicazione controlla solo tale file e poi tira dritto. Se l'utente cancella la cache, allora la decompressione avverrà nuovamente (ho usato Context.getExternalCacheDir() per memorizzare i dati decompressi).

Inoltre tale sistema è scomodo perchè:
- puoi scaricare max 2 file (quindi ricorrere allo ZIP è quasi obbligatorio)
- se decomprimi il file zip, poi NON puoi cancellare il file temporaneo scaricato dal market, altrimenti la libreria ufficiale tenterà di scaricarlo nuovamente, quindi sprechi molto spazio sulla SD dell'utente (questo bug non ho avuto il tempo di fixarlo)
- Il codice deve conoscere a priori la dimensione del pacchetto da scaricare, questo implica che: a) ti serve un servizio web da consultare per verificare la nuova dimensione di un eventuale aggiornamento; oppure b) ricompilare anche il codice e uppare un nuovo APK per ogni aggiornamento dell'Expansion Pack
- La libreria di Google controlla il CRC32 dei file zippati, ma tali pacchetti non hanno alcuna firma digitale (diversamente dall'APK), per cui è relativamente facile iniettare dati estranei (eventuali sistemi crittografici sono delegati allo sviluppatore).

Insomma, come al solito Google fa delle porcate assurde e invece di semplificarci la vita, ci rifila (a noi developers) enormi pali nel culo ad ogni update.

[...]

Antonio Barba
Diciamo che uno dei pochi vantaggi degli Expansion Packs è quello di poter uppare i pacchetti sul Market, quindi elimina i costi di fileserving (che possono essere molto elevati per applicazioni popolari).

Comincio ad odiare profondamente Google.  :character-jason:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #1 il: 08 Marzo 2012, 11:36:43 »
Potremmo coniare il detto: "Android, il bug col codice attorno".

Oppure "Tyred to program on comfortable platforms? Try Android..."

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #2 il: 08 Marzo 2012, 11:50:04 »
Mi state facendo venire l'orticaia ancor prima di cominciare  :?
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

AmigaCori

  • Visitatore
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #3 il: 08 Marzo 2012, 12:04:14 »
@@cdimauro
Fosse solo Andorid, a me pare che i prodotti google non siano granche'...la peggio applicazione per le mail che ho trovato finora e' Gmail, tutte le altre sia free che a pagamento sono migliori sotto tutti i punti di vista tranne la gestione del push.
Android e' un bell'OS ma andrebbe supportato meglio, Google ha troppi campi aperti, parte alla grande su tutto ma poi lascia le cose in beta perenne...io trovo piu' disordinato "il mondo Google" che quello Linux per esempio.

@TheKaneB
Ohhhh ricordami di regalarti un panetto di burro  :mrgreen:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #4 il: 08 Marzo 2012, 12:12:15 »
Android un bel s.o.? Antonio, uccidilo! :D

AmigaCori

  • Visitatore
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #5 il: 08 Marzo 2012, 12:13:33 »
Per NOI user lo e'  :D  per VOI developer ci sono le palline antistress ed i panetti di burro  :lol:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline lucommodore

  • Human Debugger
  • *****
  • Post: 6176
  • Karma: +48/-9
    • Mostra profilo
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #6 il: 08 Marzo 2012, 12:29:32 »
Personalmente, per quanto pieno di app gratuite interessanti, come utente trovo Android piuttosto incasinato, dispersivo, zibaldoso e un po buggato...
Se dovessi acquistare un tablet o uno smartphone full-touch, Android sarebbe solo la scelta economica per risparmiare.
Imho iOS su iPad/iPhone sembra ben altra cosa: ordinato e preciso. E metro sembra godly... :think:

PS
alla fine di smartphone ne ho preso uno usato a 100 euro con tastiera e symbian.. :mrgreen:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »
Solo chi è folle sfida le sue molle!
http://www.questolibro.it/retro-garage << Scambio/Vendo RetroGame

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #7 il: 08 Marzo 2012, 12:41:16 »
@AmigaCori, @lucommodore:

Io ormai mi godo il mio Lumia 800... il caro HTC Wildfire S ha preso il volo su eBay  8-)

@cdimauro:
Motosega, napalm o lo strozzo a mani nude?  :lol:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #8 il: 08 Marzo 2012, 12:47:27 »
La prima che hai detto: ti diverti di più. :mrgreen:

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #9 il: 08 Marzo 2012, 12:54:26 »
Citazione da: "cdimauro"
La prima che hai detto: ti diverti di più. :mrgreen:

da ragazzino facevo lotta greco-romana (secondo posto nazionale categoria Juniores 44-52 Kg)... potrei divertirmi discretamente anche con l'ultima opzione... chissà se mi ricordo ancora come si fa l'elevazione con ribaltata: è una mossa che se sbagli spezzi la colonna all'avversario, per cui severamente vietata alle categorie Under 18, ma adesso ho 25 anni e posso assumermi la responsabilità penale di tali conseguenze  :mrgreen:

PS: ho dato uno sguardo al sito della federazione, e noto con piacere che dopo 10 anni il mio maestro sforna ancora campioni a bizzeffe.. ci sono primi e secondi posti della palestra di Termini Imerese in tutte le categorie! :-D
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #10 il: 08 Marzo 2012, 13:02:47 »
:shock: Mi stupisci sempre di più.

Sei come Berlusconi: lui ha fatto tantissimi mestieri, ma solo sulla carta.

Tu, invece, fai paura. :o

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #11 il: 08 Marzo 2012, 13:43:46 »
secondo me Antonio ha la connessione sulla nuca come Neo per apprendere intere discipline in pochi minuti...
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #12 il: 08 Marzo 2012, 14:30:45 »
Ma no... ho solo spento la TV, sapete quanto tempo e neuroni risparmio ogni anno?  :lol:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

AmigaCori

  • Visitatore
Re: [Android] Expansion File (a.k.a. pain in the butt)
« Risposta #13 il: 08 Marzo 2012, 14:35:51 »
@lucommodore
Un PDA/Tablet dove puoi fare solo quello che dice-va Jobs proprio non li vale tutti quei soldi  :mrgreen:  poi si, e' bello a vedersi e quindi vende, ma chi lo compra lo fa per l'aspetto non per il contenuto difatti senti sempre dire "che figo l'iphone, che bello!"  :D

@developers
 :snooty:

@allanon
Tra iBOT e developers mi sento sempre piu' oppresso... :shifty:  ho capito perche' ti sei fatto il tuo bel bunkerino.  :roll:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Tags: