Plural NotFoundException sólo en los teléfonos Huawei

He notado muchos informes de fallo de mi aplicación en la producción de teléfonos Huawei relacionados exactamente con el manejo de plurales. No hay otros teléfonos tienen este problema, pero sólo Huawei.

Todas las formas plurales existen y funcionan bien en otros dispositivos.

Parece que Huawei no puede manejar plurales en absoluto:

android.content.res.Resources$NotFoundException: Plural resource ID #0x7f060000 quantity=4 item=few at android.content.res.Resources.getQuantityText(Resources.java:290) at android.content.res.Resources.getQuantityString(Resources.java:397) ... android.content.res.Resources$NotFoundException: Plural resource ID #0x7f060000 quantity=6 item=many at android.content.res.Resources.getQuantityText(Resources.java:290) at android.content.res.XResources.getQuantityText(XResources.java:667) at android.content.res.Resources.getQuantityString(Resources.java:397) ... 

¿Alguien tiene este problema también?

He tenido este tipo de problema de acuerdo con los informes de análisis. El mismo problema – no tiene dispositivo de Huawei.

Esto sucedió en la lista de dispositivos: – Huawei G700-U10 Ascend G700 – Huawei G700-U20 Ascend G700 – Huawei G610-U20 Ascend

Stacktrace:

 android.content.res.Resources$NotFoundException: Plural resource ID #0x7f0d0000 quantity=5 item=many at android.content.res.Resources.getQuantityText(Resources.java:290) at android.content.res.Resources.getQuantityString(Resources.java:397) at com.sixthsensegames.client.android.app.activities.TournamentInfoActivity2$a$1.run(SourceFile:2233) at android.os.Handler.handleCallback(Handler.java:725) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:153) at android.app.ActivityThread.main(ActivityThread.java:5341) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:929) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696) at dalvik.system.NativeStart.main(Native Method) 

Miré la clase de Recursos para aclarar el problema y encontrar cualquier SOLUCIÓN DE PROBLEMAS.

 public CharSequence getQuantityText(@PluralsRes int id, int quantity) throws NotFoundException { NativePluralRules rule = getPluralRule(); CharSequence res = mAssets.getResourceBagText(id, attrForQuantityCode(rule.quantityForInt(quantity))); if (res != null) { return res; } res = mAssets.getResourceBagText(id, ID_OTHER); if (res != null) { return res; } throw new NotFoundException("Plural resource ID #0x" + Integer.toHexString(id) + " quantity=" + quantity + " item=" + stringForQuantityCode(rule.quantityForInt(quantity))); } 

De acuerdo con este código si no se encuentra la regla plural para la cantidad dada, se dará el plural con la regla "OTRO" (antes de que tengamos la Excepción). He añadido "otro" elemento (regla) a la definición plural en strings.xml. Hecho la actualización de la aplicación y desde entonces no he recibido ningún informe de esta lista de dispositivos con este tipo de excepción.

En mi caso, estaba en idioma ruso:

 <plurals name="career_tournament_goal_wins_left"> <item quantity="one">осталась %1$s победа</item> <item quantity="few">осталось %1$s победы</item> <item quantity="many">осталось %1$s побед</item> <item quantity="other">осталось %1$s побед</item> <!-- for Huawei G700-u20 --> </plurals> 

No es la panacea, pero funciona al menos como solución.

Codificación feliz …

  • ¿Cuál es la diferencia entre -anydpi y -nodpi?
  • Recursos de Android por género
  • Espresso: Cómo utilizar R.string recursos de la carpeta androidTest
  • Lectura de activos o archivos de recursos o de recursos como un objeto File en Android
  • Diseño Nombre de la carpeta para Tablet 7 "
  • ¿Cómo puedo tener res / values-pt_PT y res / values-pt_BR en Android?
  • Herramienta de traducción para Android para ayudar a proporcionar el contexto
  • Localización de recursos de cadena agregados a través de build.gradle usando "resValue"
  • Cómo colocar "&" en el archivo de cadenas de xml en android studio
  • ¿Hay algo similar al sistema de recursos de Android en una escala menor?
  • ¿Puedo de alguna manera alias R en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.