Tentative d'invoquer la méthode virtuelle android.contenu.res.D'assetmanager android.contenu.res.Les ressources.getAssets () sur un objet nul de référence
Ce qui se passe:
- J'ai une stacktrace à partir de l'appstore comme ci-dessous, problème, je suis confronté à
c'est qu'il ne marche pas montrer de quelle classe est la cause de ce crash. - ce que je peux comprendre, c'est que son causant en raison de l'actif que je
ont utilisé - Seul endroit où je suis à l'aide d'actifs est au niveau de l'application pour définir le
police
Code:
private void setDefaultFont() {
try {
final Typeface bold = Typeface.createFromAsset(getAssets(), "fonts/OpenSans-Bold.ttf");
final Typeface italic = Typeface.createFromAsset(getAssets(), "fonts/OpenSans-Italic.ttf");
final Typeface boldItalic = Typeface.createFromAsset(getAssets(), "fonts/OpenSans-BoldItalic.ttf");
final Typeface regular = Typeface.createFromAsset(getAssets(),"fonts/OpenSans-Regular.ttf");
Field DEFAULT = Typeface.class.getDeclaredField("DEFAULT");
DEFAULT.setAccessible(true);
DEFAULT.set(null, regular);
Field DEFAULT_BOLD = Typeface.class.getDeclaredField("DEFAULT_BOLD");
DEFAULT_BOLD.setAccessible(true);
DEFAULT_BOLD.set(null, bold);
Field sDefaults = Typeface.class.getDeclaredField("sDefaults");
sDefaults.setAccessible(true);
sDefaults.set(null, new Typeface[]{
regular, bold, italic, boldItalic
});
} catch (NoSuchFieldException e) {
//logFontError(e);
} catch (IllegalAccessException e) {
//logFontError(e);
} catch (Throwable e) {
//cannot crash app if there is a failure with overriding the default font!
//logFontError(e);
}
}
StackTrace à partir de l'Appstore:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.AssetManager android.content.res.Resources.getAssets()' on a null object reference
at android.app.LoadedApk.getAssets(LoadedApk.java:528)
at android.app.LoadedApk.makeApplication(LoadedApk.java:584)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4526)
at android.app.ActivityThread.access$1500(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Quelle approche doit-je prendre pour résoudre ce problème??
combien d'accidents ?
Eh bien, entre autres choses, arrêter de manger des exceptions sans se connecter, comme vous le faites dans votre code. Pour tous vous le savez, les informations dont vous avez besoin pour résoudre le problème est en train d'être remis à vous, et vous êtes ignorant.
Blackbelt .... Juste ... Étrange ! ... son travail toujours!, soudain eu de plantage
CommonsWare .... Merci pour l'i/p, et oui je suis en train de faire une erreur en ne handeling l'exception. mais ce que je peux manipuler dans des cas d'exception se produit. si j'en ai besoin pour définir les polices par défaut ou quelque chose comme ça ? ... i/p
Eh bien, entre autres choses, arrêter de manger des exceptions sans se connecter, comme vous le faites dans votre code. Pour tous vous le savez, les informations dont vous avez besoin pour résoudre le problème est en train d'être remis à vous, et vous êtes ignorant.
Blackbelt .... Juste ... Étrange ! ... son travail toujours!, soudain eu de plantage
CommonsWare .... Merci pour l'i/p, et oui je suis en train de faire une erreur en ne handeling l'exception. mais ce que je peux manipuler dans des cas d'exception se produit. si j'en ai besoin pour définir les polices par défaut ou quelque chose comme ça ? ... i/p
OriginalL'auteur Devrath | 2015-05-13
Vous devez vous connecter pour publier un commentaire.
Je l'ai vu trop de Sucette appareils avec le même stacktrace, également sans aucune référence à un code propre. Il semble être une plate-forme de bug venant incomplète mises à jour des applications, voir https://code.google.com/p/android/issues/detail?id=56296
OriginalL'auteur mattlaabs
Essayer de déclarer les styles de police séparément (pas dans la même ligne), comme suit,
modification:
:
OriginalL'auteur Meqdad Darweesh
Pas une bonne solution, mais (après s'être assuré que j'avais le dernier SDK Android installé les mises à jour), j'ai été en mesure de résoudre ce tout à l'heure par la désinstallation et la réinstallation de l'application j'ai été le tester.
OriginalL'auteur dstrube
Ajouter du contexte lors de l'appel,
Il devrait ressembler à ceci,-
OriginalL'auteur Exigente05