2012-05-17 6 views
9

Abbiamo visto circa 40 di questi arresti anomali negli ultimi due giorni della nostra versione dell'app per 4.0. Dopo aver esaminato i registri degli arresti anomali, abbiamo scoperto che esiste dalla versione 3.3 della nostra app. Non siamo stati in grado di riprodurre questo in casa.FileNotFoundException: res/drawable-xhdpi-v4/foo.png nei registri di arresto del Play Store solo

Ulteriori ricerche hanno indicato che questo problema è prevalente in altre applicazioni, ma non sono riuscito a trovare una risoluzione o un'indicazione che Google fosse a conoscenza del problema.

L'arresto stessa avviene sulla setContentView (R.layout.foo) Metodo chiamata onCreate()

Note:

  • ci si limita API alla versione 4 e TARGET 15.
  • Lo abbiamo visto su almeno 2.2 - 4.0.3 su telefoni mdpi, hdpi, xhdpi e tablet.
  • I commenti degli utenti specificano che l'app si arresta immediatamente (previsto) e che l'icona di Evernote nell'application launcher si trasforma nell'icona predefinita dell'app (non può leggere alcun drawable).
  • Lo schianto non è limitato a uno specifico drawable, ne abbiamo visti molti diversi nei log, tuttavia tutti sembrano "essere disegnabili dell'immagine, non colori, layout, file xml, ecc ...
  • non è limitato a 9patches, è successo su entrambi .png regolare e .9.png

nostre cartelle disegnabili apparire come l'immagine allegata Drawables

  • archiviamo solo xml nella nostra cartella drawable
traccia

Stack:

android.content.res.Resources$NotFoundException: File res/drawable/ics_tab_title_unselected.xml from drawable resource ID #0x7f02016f 
at android.content.res.Resources.loadDrawable(Resources.java:1697) 
at android.content.res.Resources.getDrawable(Resources.java:581) 
at android.view.View.setBackgroundResource(View.java:7533) 
at com.evernote.ics.ActionBarTabbedTitle.a(ActionBarTabbedTitle.java:103) 
at com.evernote.ics.j.a(ActivityActionBar.java:150) 
at com.evernote.ics.a.c(ActionBar.java:731) 
at com.evernote.ics.a.p(ActionBar.java:440) 
at com.evernote.ics.a.g(ActionBar.java:423) 
at com.evernote.ics.j.m(ActivityActionBar.java:68) 
at com.evernote.ics.phone.SwipeableTabbedActivityAbstract.s(SwipeableTabbedActivityAbstract.java:990) 
at com.evernote.ics.phone.SwipeableTabbedActivityAbstract.a(SwipeableTabbedActivityAbstract.java:662) 
at com.evernote.ics.phone.SwipeableTabbedActivityAbstract.b(SwipeableTabbedActivityAbstract.java:617) 
at com.evernote.ics.phone.PhoneMainActivity.b(PhoneMainActivity.java:113) 
at com.evernote.ui.EvernoteFragment.a(EvernoteFragment.java:136) 
at com.evernote.ui.EvernoteFragment.a(EvernoteFragment.java:132) 
at com.evernote.ui.EvernoteFragment.d(EvernoteFragment.java:128) 
at com.evernote.ics.phone.b.onItemClick(HomeFragment.java:1324) 
at android.widget.AdapterView.performItemClick(AdapterView.java:284) 
at android.widget.ListView.performItemClick(ListView.java:3513) 
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812) 
at android.os.Handler.handleCallback(Handler.java:587) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:3683) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.content.res.Resources$NotFoundException: File res/drawable-xhdpi-v4/tab_unselected_focus.9.png from drawable resource ID #0x7f0201e6 
at android.content.res.Resources.loadDrawable(Resources.java:1714) 
at android.content.res.Resources.getDrawable(Resources.java:581) 
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162) 
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:787) 
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:728) 
at android.content.res.Resources.loadDrawable(Resources.java:1694) 
... 28 more 
Caused by: java.io.FileNotFoundException: res/drawable-xhdpi-v4/tab_unselected_focus.9.png 
at android.content.res.AssetManager.openNonAssetNative(Native Method) 
at android.content.res.AssetManager.openNonAsset(AssetManager.java:406) 
at android.content.res.Resources.loadDrawable(Resources.java:1706) 
... 33 more 

Tutte le raccomandazioni sarebbero notevolmente apprezzato.

App: https://play.google.com/store/apps/details?id=com.evernote

Grazie,

Ty

+0

"che l'icona di Evernote diventa l'icona di app predefinita (non può leggere alcun drawable)" - potresti approfondire un po 'su questo? Intendi che l'icona di avvio è l'icona predefinita dell'app? Sembra che ciò si verifichi ogni volta che ottieni anche una di queste tracce dello stack o è solo un altro sintomo indipendente? – CommonsWare

+0

I commenti degli utenti indicano che l'icona di avvio dell'applicazione stessa diventa l'icona predefinita (robot verde). – tsmith

+0

La traccia dello stack si verifica quando l'utente avvia l'app e setContentView viene chiamato su qualsiasi attività è il punto di ingresso. Dobbiamo ancora essere in contatto con un utente che lo sta sperimentando direttamente, quindi stiamo cercando di derivare da analisi, arresti del mercato e commenti degli utenti in caso di arresto anomalo. – tsmith

risposta

0

errore simile risolto aggiungendo il seguente nel file "Proguard".

-keepclassmembers class **.R$* { 
    public static <fields>; 
} 
Problemi correlati