2014-07-18 8 views
6

Sono stanco di vedere un sacco di StackOverflow domande su questo, anche nei forum di Google o sito di supporto ufficiale di Google, la pubblicazione "soluzioni" che portano a disinstallare pacchetto tramite ADB, di fare qualcosa con il telefono radicata, per cancellare la cache di Google Play Services, ecc ..."file di pacchetto è valido", soluzione dal lato sviluppatore (Android)

C'è qualche soluzione dal lato pacchetto?

Voglio dire, ho un app con centinaia di migliaia di installazioni, e, purtroppo, molti utenti si lamentano su questo errore durante l'aggiornamento da negozio mia nuova versione.

Ovviamente, non posso andare ad uno ad uno dicendo che devono fare questo o quello, perché non sono gli sviluppatori, vogliono solo di aggiornare ed eseguire un app!

Alcuni utenti mi dicono (lamentandosi) di ciò che è accaduto dall'ultimo "tentativo di aggiornamento" della mia app e non stanno riscontrando questo "file del pacchetto non valido" con altre app nei loro telefoni.

Quindi, credo che sia qualcosa che posso risolvere il problema con un altro aggiornamento.

C'è qualche soluzione che posso fare nella prossima compilation APK, caricare su Google Play Store e risolvere questo problema senza "disturbare" i miei utenti?

Grazie in anticipo

+0

Correlati: http://stackoverflow.com/questions/17673024/invalid-package-file-android#comment26259600_17939273 – FlamingMoe

+1

Una causa di questo può essere alcune incompatibilità ART/Dalvik? – Estel

+0

Cosa intendi? Ho sempre usato lo stesso Eclipse e l'SDK Android – FlamingMoe

risposta

0

Ho anche affrontato lo stesso problema nel mio progetto pure. Stavo aggiungendo molte altre funzionalità con un nuovo jar, git codice di libreria open source per Nice UI.

per la ricerca di soluzione che ho trovato Play Store ha problema in uno dei suoi aggiornamenti http://www.androidcentral.com/google-investigating-package-file-invalid-errors-google-play Ma questo non è del tutto rilevante per il mio problema

Anche in questo caso la ricerca ho trovato questo http://birbit.com/how-to-solve-linearalloc-problem/ Quindi la soluzione sembra essere carico alcuni file jar con DexClassLoader in modo dinamico. http://android-developers.blogspot.in/2011/07/custom-class-loading-in-dalvik.html

  1. Preparare interfaccia del file jar (elenco di tutte le classi e metodi) e hanno l'interfaccia in app - Necessità di vedere come fare questo. - Possiamo solo avere quelle classi di cui abbiamo bisogno nella nostra app e ignorare il resto delle classi. In questo modo possiamo implementare per pochi barattoli esistenti e ogni nuovo barattolo che dobbiamo aggiungere per assicurarci di non incappare nuovamente in questo problema.
  2. Mantenere il barattolo nella cartella delle risorse
  3. Carica ogni classe dal contenitore (in base all'elenco dei vasi che abbiamo nell'interfaccia). (Le classi verranno caricate solo una volta al primo avvio)

Ma in base a ciò, sembra che si tratti di molte modifiche di codifica e di un notevole dispendio di tempo.

Inoltre ho scoperto che Facebook anche affrontato lo stesso problema nella loro applicazione Android iniziale https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920

Final Approach ho preso è stata la rimozione di codice aggiuntivo da Progetto Biblioteche vaso/git che non è bisogno per la mia applicazione. dopo che la mia app è stata installata su 2.3.X senza errori.

Problemi correlati