Android ExiFinInterface和VM中止的奇怪致命崩溃
我和ExiFinInterface发生了一起奇怪的致命车祸。导致崩溃的一行代码非常简单(Foto.java:341): 我只是从一些照片中了解到这次事故。更奇怪的是,如果我看到正常图片的exif,关闭程序,然后再次打开程序以查看有问题的图片,我会从上一张图片中获得exif。很差 你知道这是什么原因吗?Strack痕迹在下面Android ExiFinInterface和VM中止的奇怪致命崩溃,android,exif,Android,Exif,我和ExiFinInterface发生了一起奇怪的致命车祸。导致崩溃的一行代码非常简单(Foto.java:341): 我只是从一些照片中了解到这次事故。更奇怪的是,如果我看到正常图片的exif,关闭程序,然后再次打开程序以查看有问题的图片,我会从上一张图片中获得exif。很差 你知道这是什么原因吗?Strack痕迹在下面 01-13 21:23:42.148: W/dalvikvm(10868): JNI WARNING: received null jstring 01-13 21:23:4
01-13 21:23:42.148: W/dalvikvm(10868): JNI WARNING: received null jstring
01-13 21:23:42.148: W/dalvikvm(10868): in Landroid/media/ExifInterface;.getAttributesNative:(Ljava/lang/String;)Ljava/lang/String; (GetStringUTFChars)
01-13 21:23:42.148: I/dalvikvm(10868): "main" prio=5 tid=1 NATIVE
01-13 21:23:42.148: I/dalvikvm(10868): | group="main" sCount=0 dsCount=0 obj=0x40c6e460 self=0x12938
01-13 21:23:42.148: I/dalvikvm(10868): | sysTid=10868 nice=0 sched=0/0 cgrp=default handle=1075021096
01-13 21:23:42.148: I/dalvikvm(10868): | schedstat=( 618641072 82163138 362 ) utm=57 stm=4 core=1
01-13 21:23:42.148: I/dalvikvm(10868): at android.media.ExifInterface.getAttributesNative(Native Method)
01-13 21:23:42.148: I/dalvikvm(10868): at android.media.ExifInterface.loadAttributes(ExifInterface.java:204)
01-13 21:23:42.148: I/dalvikvm(10868): at android.media.ExifInterface.<init>(ExifInterface.java:121)
01-13 21:23:42.148: I/dalvikvm(10868): at com.floritfoto.apps.xvf.Foto.printexif(Foto.java:341)
01-13 21:23:42.148: I/dalvikvm(10868): at com.floritfoto.apps.xvf.Foto$3.onLongClick(Foto.java:449)
01-13 21:23:42.148: I/dalvikvm(10868): at android.view.View.performLongClick(View.java:3656)
01-13 21:23:42.148: I/dalvikvm(10868): at android.view.View$CheckForLongPress.run(View.java:14270)
01-13 21:23:42.148: I/dalvikvm(10868): at android.os.Handler.handleCallback(Handler.java:605)
01-13 21:23:42.148: I/dalvikvm(10868): at android.os.Handler.dispatchMessage(Handler.java:92)
01-13 21:23:42.148: I/dalvikvm(10868): at android.os.Looper.loop(Looper.java:137)
01-13 21:23:42.148: I/dalvikvm(10868): at android.app.ActivityThread.main(ActivityThread.java:4507)
01-13 21:23:42.148: I/dalvikvm(10868): at java.lang.reflect.Method.invokeNative(Native Method)
01-13 21:23:42.148: I/dalvikvm(10868): at java.lang.reflect.Method.invoke(Method.java:511)
01-13 21:23:42.148: I/dalvikvm(10868): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
01-13 21:23:42.148: I/dalvikvm(10868): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
01-13 21:23:42.148: I/dalvikvm(10868): at dalvik.system.NativeStart.main(Native Method)
01-13 21:23:42.148: E/dalvikvm(10868): VM aborting
01-13 21:23:42.148: A/libc(10868): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)
01-13 21:23:42.148:W/dalvikvm(10868):JNI警告:收到空jstring
01-13 21:23:42.148:W/dalvikvm(10868):在Landroid/media/ExifInterface;中;。getAttributesNative:(Ljava/lang/String;)Ljava/lang/String;(GetStringUTFChars)
01-13 21:23:42.148:I/dalvikvm(10868):“主要”优先级=5 tid=1本机
01-13 21:23:42.148:I/dalvikvm(10868):| group=“main”scont=0 dsCount=0 obj=0x40c6e460 self=0x12938
01-13 21:23:42.148:I/dalvikvm(10868):| sysTid=10868 nice=0 sched=0/0 cgrp=default handle=1075021096
01-13 21:23:42.148:I/dalvikvm(10868):| schedstat=(618641072 8216313362)utm=57 stm=4 core=1
01-13 21:23:42.148:I/dalvikvm(10868):在android.media.ExifInterface.getAttributesNative(本机方法)
01-13 21:23:42.148:I/dalvikvm(10868):位于android.media.ExifInterface.loadAttributes(ExifInterface.java:204)
01-13 21:23:42.148:I/dalvikvm(10868):在android.media.ExifInterface.(ExifInterface.java:121)
01-13 21:23:42.148:I/dalvikvm(10868):位于com.floritfoto.apps.xvf.Foto.printexif(Foto.java:341)
01-13 21:23:42.148:I/dalvikvm(10868):在com.floritfoto.apps.xvf.Foto$3.onLongClick(Foto.java:449)
01-13 21:23:42.148:I/dalvikvm(10868):在android.view.view.performLongClick(view.java:3656)
01-13 21:23:42.148:I/dalvikvm(10868):在android.view.view$CheckForLongPress.run(view.java:14270)
01-13 21:23:42.148:I/dalvikvm(10868):位于android.os.Handler.handleCallback(Handler.java:605)
01-13 21:23:42.148:I/dalvikvm(10868):在android.os.Handler.dispatchMessage(Handler.java:92)上
01-13 21:23:42.148:I/dalvikvm(10868):位于android.os.Looper.loop(Looper.java:137)
01-13 21:23:42.148:I/dalvikvm(10868):位于android.app.ActivityThread.main(ActivityThread.java:4507)
01-13 21:23:42.148:I/dalvikvm(10868):位于java.lang.reflect.Method.Invokenactive(本机方法)
01-13 21:23:42.148:I/dalvikvm(10868):位于java.lang.reflect.Method.invoke(Method.java:511)
01-13 21:23:42.148:I/dalvikvm(10868):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
01-13 21:23:42.148:I/dalvikvm(10868):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
01-13 21:23:42.148:I/dalvikvm(10868):位于dalvik.system.NativeStart.main(本机方法)
01-13 21:23:42.148:E/dalvikvm(10868):VM正在中止
01-13 21:23:42.148:A/libc(10868):0xdeadd00d(代码=1)处的致命信号11(SIGSEGV)
新的ExiFinInterface(null)将导致SIGSEGV
这里的答案相同:这似乎与CheckJNI=ON有关?
01-13 21:23:42.148: W/dalvikvm(10868): JNI WARNING: received null jstring
01-13 21:23:42.148: W/dalvikvm(10868): in Landroid/media/ExifInterface;.getAttributesNative:(Ljava/lang/String;)Ljava/lang/String; (GetStringUTFChars)
01-13 21:23:42.148: I/dalvikvm(10868): "main" prio=5 tid=1 NATIVE
01-13 21:23:42.148: I/dalvikvm(10868): | group="main" sCount=0 dsCount=0 obj=0x40c6e460 self=0x12938
01-13 21:23:42.148: I/dalvikvm(10868): | sysTid=10868 nice=0 sched=0/0 cgrp=default handle=1075021096
01-13 21:23:42.148: I/dalvikvm(10868): | schedstat=( 618641072 82163138 362 ) utm=57 stm=4 core=1
01-13 21:23:42.148: I/dalvikvm(10868): at android.media.ExifInterface.getAttributesNative(Native Method)
01-13 21:23:42.148: I/dalvikvm(10868): at android.media.ExifInterface.loadAttributes(ExifInterface.java:204)
01-13 21:23:42.148: I/dalvikvm(10868): at android.media.ExifInterface.<init>(ExifInterface.java:121)
01-13 21:23:42.148: I/dalvikvm(10868): at com.floritfoto.apps.xvf.Foto.printexif(Foto.java:341)
01-13 21:23:42.148: I/dalvikvm(10868): at com.floritfoto.apps.xvf.Foto$3.onLongClick(Foto.java:449)
01-13 21:23:42.148: I/dalvikvm(10868): at android.view.View.performLongClick(View.java:3656)
01-13 21:23:42.148: I/dalvikvm(10868): at android.view.View$CheckForLongPress.run(View.java:14270)
01-13 21:23:42.148: I/dalvikvm(10868): at android.os.Handler.handleCallback(Handler.java:605)
01-13 21:23:42.148: I/dalvikvm(10868): at android.os.Handler.dispatchMessage(Handler.java:92)
01-13 21:23:42.148: I/dalvikvm(10868): at android.os.Looper.loop(Looper.java:137)
01-13 21:23:42.148: I/dalvikvm(10868): at android.app.ActivityThread.main(ActivityThread.java:4507)
01-13 21:23:42.148: I/dalvikvm(10868): at java.lang.reflect.Method.invokeNative(Native Method)
01-13 21:23:42.148: I/dalvikvm(10868): at java.lang.reflect.Method.invoke(Method.java:511)
01-13 21:23:42.148: I/dalvikvm(10868): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
01-13 21:23:42.148: I/dalvikvm(10868): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
01-13 21:23:42.148: I/dalvikvm(10868): at dalvik.system.NativeStart.main(Native Method)
01-13 21:23:42.148: E/dalvikvm(10868): VM aborting
01-13 21:23:42.148: A/libc(10868): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)