JNI DÉTECTÉ UNE ERREUR DANS L'APPLICATION
Je suis en utilisant une API de WordPress pour obtenir la façon dont beaucoup de titres que j'ai. Mon code fonctionne bien pour toutes les versions d'Android à l'exception de 5.x. Quand je pousse un thread dans mon application c'est malheureusement fermé. Je ne sais pas quel est le problème avec Android 5 versions. Personne ne sait quelle est la solution?
C'est mon logcat:
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: JNI CallVoidMethodV called with pending exception 'java.lang.IllegalStateException' thrown in void android.os.MessageQueue.nativePollOnce(long, int):-2
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] in call to CallVoidMethodV
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] from void android.os.MessageQueue.nativePollOnce(long, int)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] "main" prio=5 tid=1 Runnable
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] | group="main" sCount=0 dsCount=0 obj=0x87d30ef0 self=0xb4f07800
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] | sysTid=18828 nice=-11 cgrp=apps sched=0/0 handle=0xb6fdeec8
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] | state=R schedstat=( 2249126546 506089308 3210 ) utm=183 stm=41 core=3 HZ=100
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] | stack=0xbe0c8000-0xbe0ca000 stackSize=8MB
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] | held mutexes= "mutator lock"(shared held)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #00 pc 00004640 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #01 pc 00002e8d /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #02 pc 00248381 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::mirror::ArtMethod*)+68)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #03 pc 0022cd0b /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+146)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #04 pc 000b189b /system/lib/libart.so (art::JniAbort(char const*, char const*)+582)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #05 pc 000b1fd5 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+60)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #06 pc 000b50e5 /system/lib/libart.so (art::ScopedCheck::ScopedCheck(_JNIEnv*, int, char const*)+1284)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #07 pc 000bc59f /system/lib/libart.so (art::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+30)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #08 pc 00063803 /system/lib/libandroid_runtime.so (???)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #09 pc 000776bd /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long long, int, unsigned int)+40)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #10 pc 00077885 /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::handleEvent(int, int, void*)+80)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #11 pc 00010f6f /system/lib/libutils.so (android::Looper::pollInner(int)+482)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #12 pc 00011019 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #13 pc 000830c1 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] native: #14 pc 000b22d7 /system/framework/arm/boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+102)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] at android.os.MessageQueue.nativePollOnce(Native method)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] at android.os.MessageQueue.next(MessageQueue.java:143)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] at android.os.Looper.loop(Looper.java:130)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] at android.app.ActivityThread.main(ActivityThread.java:5832)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] at java.lang.reflect.Method.invoke!(Native method)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] at java.lang.reflect.Method.invoke(Method.java:372)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
04-16 19:06:54.709 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/check_jni.cc:65]
04-16 19:06:55.509 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #08 pc 000b1a79 /system/lib/libart.so (art::JniAbort(char const*, char const*)+1060)
04-16 19:06:55.509 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #09 pc 000b1fd5 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+60)
04-16 19:06:55.509 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #10 pc 000b50e5 /system/lib/libart.so (art::ScopedCheck::ScopedCheck(_JNIEnv*, int, char const*)+1284)
04-16 19:06:55.509 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #11 pc 000bc59f /system/lib/libart.so (art::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+30)
04-16 19:06:55.519 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #17 pc 000830c1 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
04-16 19:06:55.519 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #08 pc 000b1a79 /system/lib/libart.so (art::JniAbort(char const*, char const*)+1060)
04-16 19:06:55.519 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #09 pc 000b1fd5 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+60)
04-16 19:06:55.519 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #10 pc 000b50e5 /system/lib/libart.so (art::ScopedCheck::ScopedCheck(_JNIEnv*, int, char const*)+1284)
04-16 19:06:55.519 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #11 pc 000bc59f /system/lib/libart.so (art::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+30)
04-16 19:06:55.519 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #17 pc 000830c1 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc499 /system/lib/libart.so (art::Object_wait(_JNIEnv*, _jobject*)+32)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc499 /system/lib/libart.so (art::Object_wait(_JNIEnv*, _jobject*)+32)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc499 /system/lib/libart.so (art::Object_wait(_JNIEnv*, _jobject*)+32)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #05 pc 000830c1 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #05 pc 000830c1 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #05 pc 000830c1 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.529 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.539 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.539 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.539 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
04-16 19:06:55.539 18828-18828/com.example.dmb.materialnews A/art﹕ art/runtime/runtime.cc:286] native: #04 pc 001fc471 /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
Cela va être difficile - il n'est pas évident de référence dans le suivi de aucun de votre code, à part le nom du package.
J'ai de très gros codes de l'écrire ici. Mais comme je recherche c'est à propos de la conception de matériel, mais je ne sais pas comment résoudre ce problème.
J'ai de très gros codes de l'écrire ici. Mais comme je recherche c'est à propos de la conception de matériel, mais je ne sais pas comment résoudre ce problème.
OriginalL'auteur Dauezevy | 2015-04-16
Vous devez vous connecter pour publier un commentaire.
Android 5.0+ utilise une autre machine virtuelle (précédemment Dalvik, et maintenant l'ART). Cette nouvelle machine virtuelle est beaucoup plus stricte avec JNI code.
Une case qui est fait maintenant, c'est que vous n'êtes pas autorisé à appeler du code natif à partir d'une Exception.
Vous pouvez trouver plus de détails à http://developer.android.com/training/articles/perf-jni.html#exceptions.
Si vous n'êtes pas l'auteur de la bibliothèque native, l'auteur doit le corriger. Pendant ce temps, il peut être possible pour vous d'éviter les appels pour les appels natifs en évitant les exceptions de Java, mais si l'exception se produit dans une bibliothèque, vous n'êtes pas propriétaire, il peut aussi bien ne pas être possible...
OriginalL'auteur Stef
Dans mon cas, ce problème était lié à la bibliothèque de Transitions Partout lorsqu'on l'a essayé pour animer le ScrollView. Et le problème s'est produite sur les appareils Samsung.
Retrait de transition retardée résolu le problème.
OriginalL'auteur Leo Droidcoder