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:
- Diferencia real entre AsyncTask y Thread
- ¿Cómo ajustar Delay for loop in android?
- Clase de BlackBerry equivalente a AsyncTask?
- Dibujo de lienzo SurfaceView de Android con un hilo
- ¿Debo importarme la diferencia entre el hilo principal y el hilo de UI en Lollipop y más allá?
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?
- Despertar un hilo de dormir - interrupción () versus "dividir" el sueño en varios sueños
- ¿Es una buena práctica crear AsyncTask anónima para paralelo pequeño proceso de congelación conocido?
- La animación de Android reduce el tartamudeo
- Hace TimerTask ejecutando en nuevo hilo
- Thread.join con un patrón de "reintento"
- Mostrar ProgressDialog Android
- La rotación de vista de Android no ocurre después de algunas llamadas de setAnimation
- Cómo pasar un argumento a un hilo
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.
- Pasar parámetros -P a gradle desde android studio
- El comando de cambio de velocidad falla cuando el flujo de audio no está presente en el video – ffmpeg