IllegalArgumentException en StatFs en WebViewCore thread interno

Google Play notifica una excepción en algunos dispositivos (todos son "otros" y uno "LG-E400", por lo que podría ser una versión personalizada de Android)

La excepción es:

java.lang.IllegalArgumentException at android.os.StatFs.native_setup(Native Method) at android.os.StatFs.<init>(StatFs.java:32) at android.webkit.CacheManager.init(CacheManager.java:199) at android.webkit.BrowserFrame.<init>(BrowserFrame.java:210) at android.webkit.WebViewCore.initialize(WebViewCore.java:201) at android.webkit.WebViewCore.access$500(WebViewCore.java:54) at android.webkit.WebViewCore$WebCoreThread$1.handleMessage(WebViewCore.java:631) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:130) at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:653) at java.lang.Thread.run(Thread.java:1019) 

El problema es que no puedo ignorar este axception porque está en hilo separado. ¿Hay alguna solución para este problema? ¿O qué puedo hacer con eso?

Es muy probable que se trate de un error del sistema operativo del dispositivo. Tengo muchos problemas con la biblioteca de AudioRecord – también falla en init nativo en número de dispositivos como Yusu, Micromax, Alcatel y otros dispositivos de gama baja. Todos se muestran como "otros" en los informes de GooglePlay. También me encontré que algunas ROMs Cyanogenmod tienen un error en AudioRecord – en mi HTC One V funcionó bien hasta que flashed CM10. Una buena manera de saber el modelo exacto del dispositivo, logcats, mem y otra información sobre lo que sucede en estos dispositivos es utilizar alguna herramienta de informe de fallo avanzado, como ACRA Después de que me informe que algo está definitivamente mal en el dispositivo con su firmware del fabricante, En GooglePlay.

Parece que algunos firmware tenían problemas con StatFs

Tuve problemas similares con Samsung Galaxy Stratosphere ™ II (Verizon) SCH-I415, Android: 4.1.2 Cuando llamo:

  StatFs statFs = null; statFs = new StatFs(Environment.getExternalStorageDirectory().getAbsolutePath()); 

Tengo excepción:

  java.lang.IllegalArgumentException at android.os.StatFs.native_setup(Native Method) at android.os.StatFs.<init>(StatFs.java:32) 

Tengo problema similar y mi registro estaba pareciendo

 03-14 13:41:55.715: E/PayPalService(14037): Risk component failed to initialize, threw null 03-14 13:41:56.295: E/(14037): statfs /storage/sdcard0 failed, errno: 13 03-14 13:41:56.365: E/AndroidRuntime(14037): FATAL EXCEPTION: Thread-1219 03-14 13:41:56.365: E/AndroidRuntime(14037): java.lang.IllegalArgumentException 03-14 13:41:56.365: E/AndroidRuntime(14037): at android.os.StatFs.native_setup(Native Method) 03-14 13:41:56.365: E/AndroidRuntime(14037): at android.os.StatFs.<init>(StatFs.java:32) 

Encontré este problema relacionado con la tarjeta sd mirando las dos primeras líneas. Luego verifiqué la configuración del dispositivo y encontré que había comprobado su una opción de las aplicaciones deben tener permiso para leer la tarjeta sd y la aplicación que estaba instalando no estaba teniendo permiso de lectura de tarjeta SD en manifiesto. Así que posiblemente estas cosas están relacionadas y las soluciones posibles para mí fueron bien poner el permiso en manifiesto o para desmarcar esa opción. Espero que ayudará en más investigación.

Ruta que está proporcionando en el constructor Statfs no existe

  String path = "path to some directory"; StatFs statFs = null; statFs = new StatFs(path); 

Y debe tener permiso de almacenamiento externo en el archivo de manifiesto

Comenzando con Lollipop, Android colocó restricciones bastante extremas en el acceso a tarjetas SD externas. Puedes usar:

  StatFs stat; try { stat = new StatFs(path); } catch (IllegalArgumentException e) { // Handle the failure gracefully or just throw(e) } 

Para evitar el error.

Para mi aplicación, sólo saltar directorios no disponibles, esencialmente limitar el usuario al almacenamiento interno. No es una solución ideal, pero una aplicación limitada que no se bloquea es mejor que una que lo hace.

  • Método sincronizado de Java
  • Android: android.view.ViewRoot $ CalledFromWrongThreadException - ¿Cómo resolver el problema?
  • Diferencia entre MainThread, UiThread, WorkerThread, BinderThread en Android Annotation
  • ¿Cómo cambiar dinámicamente las imágenes en SurfaceView?
  • ListView no actualiza elementos ya visibles
  • ¿Cómo debo manejar la comunicación entre los hilos de la IA y el bucle del juego principal?
  • ¿Cómo esperar que todas las tareas en un ThreadPoolExecutor terminen sin apagar el Ejecutor?
  • Cómo crear tostadas de IntentService? Se queda atascado en la pantalla
  • ¿Por qué el AsyncTask de mi servicio bloquea AsyncTasks de la actividad principal?
  • Después de ASyncTask.execute () do x () de Activity
  • "Hilo ya iniciado" al reanudar la actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.