SIGILL信号被发送到我的Android应用程序
在我的应用程序中,我希望能够播放流式视频(通过RTSP协议)。 我发现打开的RTSP流:SIGILL信号被发送到我的Android应用程序,android,ffmpeg,rtsp,Android,Ffmpeg,Rtsp,在我的应用程序中,我希望能够播放流式视频(通过RTSP协议)。 我发现打开的RTSP流:rtsp://red7blue.de/Primetime并尝试播放它。但我的应用程序在尝试播放视频时被信号SIGILL终止。我使用的是libffmpeg.so,SIGILL信号的原因位于这个库的代码中。 看看我从日志中得到的信息: D/dalvikvm( 217): Trying to load lib /data/data/my.apps.package/lib/libffmpeg.so 0x43757d
rtsp://red7blue.de/Primetime
并尝试播放它。但我的应用程序在尝试播放视频时被信号SIGILL终止。我使用的是libffmpeg.so,SIGILL信号的原因位于这个库的代码中。
看看我从日志中得到的信息:
D/dalvikvm( 217): Trying to load lib /data/data/my.apps.package/lib/libffmpeg.so 0x43757d68
D/dalvikvm( 217): Added shared lib /data/data/my.apps.package/lib/libffmpeg.so 0x43757d68
D/dalvikvm( 217): No JNI_OnLoad found in /data/data/my.apps.package/lib/libffmpeg.so 0x43757d68
D/dalvikvm( 217): Trying to load lib /data/data/my.apps.package/lib/libplayer-4.so 0x43757d68
D/dalvikvm( 217): Added shared lib /data/data/my.apps.package/lib/libplayer-4.so 0x43757d68
D/PlayerActivity( 217): FILE TO OPEN: rtsp://red7blue.de/Primetime
D/dalvikvm( 217): +++ not scanning '/system/lib/libwebcore.so' for 'open' (wrong CL)
D/dalvikvm( 217): +++ not scanning '/system/lib/libexif.so' for 'open' (wrong CL)
D/dalvikvm( 217): +++ not scanning '/system/lib/libFFTEm.so' for 'open' (wrong CL)
I/DEBUG ( 27): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 27): Build fingerprint: 'generic/sdk/generic/:1.6/Donut/20842:eng/test-keys'
I/DEBUG ( 27): pid: 217, tid: 217 >>> my.apps.package <<<
I/DEBUG ( 27): signal 4 (SIGILL), fault addr 81337fb0
I/DEBUG ( 27): r0 00000000 r1 00000000 r2 00000001 r3 00000001
I/DEBUG ( 27): r4 00000001 r5 00000000 r6 00000000 r7 00000000
I/DEBUG ( 27): r8 7fffffff r9 00000000 10 00000000 fp 20000000
I/DEBUG ( 27): ip 00000000 sp bee438a0 lr 81337f68 pc 81337fb0 cpsr 80000010
I/DEBUG ( 27): #00 pc 00337fb0 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #01 pc 00338564 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #02 pc 003368b8 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #03 pc 00079f74 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #04 pc 0007a040 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #05 pc 002c5780 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #06 pc 002d6bc4 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #07 pc 002c67d0 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #08 pc 003110a0 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #09 pc 00317ac4 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #10 pc 003197bc /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #11 pc 00316d04 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #12 pc 00319448 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #13 pc 002c67d0 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #14 pc 002c6fe0 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #15 pc 00004a28 /data/data/my.apps.package/lib/libplayer-4.so
I/DEBUG ( 27): #16 pc 00007d08 /data/data/my.apps.package/lib/libplayer-4.so
I/DEBUG ( 27): #17 pc 0000e434 /system/lib/libdvm.so
I/DEBUG ( 27): #18 pc 00040b0e /system/lib/libdvm.so
I/DEBUG ( 27): #19 pc 000432b6 /system/lib/libdvm.so
I/DEBUG ( 27): #20 pc 00013198 /system/lib/libdvm.so
I/DEBUG ( 27): #21 pc 00017be4 /system/lib/libdvm.so
I/DEBUG ( 27): #22 pc 0001762c /system/lib/libdvm.so
I/DEBUG ( 27): #23 pc 000529a8 /system/lib/libdvm.so
I/DEBUG ( 27): #24 pc 00059eda /system/lib/libdvm.so
I/DEBUG ( 27): #25 pc 00013198 /system/lib/libdvm.so
I/DEBUG ( 27): #26 pc 00017be4 /system/lib/libdvm.so
I/DEBUG ( 27): #27 pc 0001762c /system/lib/libdvm.so
I/DEBUG ( 27): #28 pc 0005282c /system/lib/libdvm.so
I/DEBUG ( 27): #29 pc 0003f790 /system/lib/libdvm.so
I/DEBUG ( 27): #30 pc 00031caa /system/lib/libdvm.so
I/DEBUG ( 27): #31 pc 0002a804 /system/lib/libandroid_runtime.so
I/DEBUG ( 27): stack:
I/DEBUG ( 27): bee43860 00000000
I/DEBUG ( 27): bee43864 00000000
I/DEBUG ( 27): bee43868 20000000
I/DEBUG ( 27): bee4386c 8135cb94 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): bee43870 20000000
I/DEBUG ( 27): bee43874 00000000
I/DEBUG ( 27): bee43878 00000000
I/DEBUG ( 27): bee4387c 20000000
I/DEBUG ( 27): bee43880 00000000
I/DEBUG ( 27): bee43884 00000000
I/DEBUG ( 27): bee43888 00000000
I/DEBUG ( 27): bee4388c 8135ca5c /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): bee43890 bee43898 [stack]
I/DEBUG ( 27): bee43894 81337f68 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): bee43898 df002777
I/DEBUG ( 27): bee4389c e3a070ad
I/DEBUG ( 27): #00 bee438a0 00000000
I/DEBUG ( 27): bee438a4 00000000
I/DEBUG ( 27): bee438a8 00000000
I/DEBUG ( 27): bee438ac 00000000
I/DEBUG ( 27): bee438b0 3ff00000
I/DEBUG ( 27): bee438b4 afc1d8f4 /system/lib/libm.so
I/DEBUG ( 27): bee438b8 afc1d868 /system/lib/libm.so
I/DEBUG ( 27): bee438bc 001f750c [heap]
I/DEBUG ( 27): bee438c0 8146ab20 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): bee438c4 0000001c
I/DEBUG ( 27): bee438c8 8b9e9309
I/DEBUG ( 27): bee438cc 8b9e9309
I/DEBUG ( 27): bee438d0 3fa56e5f
I/DEBUG ( 27): bee438d4 afc0e3bc /system/lib/libm.so
I/DEBUG ( 27): bee438d8 2d87a4ea
I/DEBUG ( 27): bee438dc 00000000
I/DEBUG ( 27): bee438e0 00000000
I/DEBUG ( 27): bee438e4 bee43928 [stack]
I/DEBUG ( 27): bee438e8 bee4392c [stack]
I/DEBUG ( 27): bee438ec ffffffbe
I/DEBUG ( 27): bee438f0 00000000
I/DEBUG ( 27): bee438f4 bee43928 [stack]
I/DEBUG ( 27): bee438f8 bee4392c [stack]
I/DEBUG ( 27): bee438fc bee43968 [stack]
I/DEBUG ( 27): bee43900 00000000
I/DEBUG ( 27): bee43904 7fffffff
I/DEBUG ( 27): bee43908 00000000
I/DEBUG ( 27): bee4390c 00000000
I/DEBUG ( 27): bee43910 20000000
I/DEBUG ( 27): bee43914 81338568 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): #01 bee43918 00000001
I/DEBUG ( 27): bee4391c 00000000
I/DEBUG ( 27): bee43920 7fffffff
I/DEBUG ( 27): bee43924 00000000
I/DEBUG ( 27): bee43928 8145fe10 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): bee4392c 81336698 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): bee43930 00000001
I/DEBUG ( 27): bee43934 8146ab50 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): bee43938 001f74f0 [heap]
I/DEBUG ( 27): bee4393c 00000000
I/DEBUG ( 27): bee43940 00000000
I/DEBUG ( 27): bee43944 bee43968 [stack]
I/DEBUG ( 27): bee43948 7fffffff
I/DEBUG ( 27): bee4394c 8145fe34 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): bee43950 8145fe10 /data/data/my.apps.package/lib/libffmpeg.so
I/DEBUG ( 27): bee43954 813368bc /data/data/my.apps.package/lib/libffmpeg.so
D/Zygote ( 29): Process 217 terminated by signal (4)
I/ActivityManager( 65): Process my.apps.package (pid 217) has died.
I/WindowManager( 65): WIN DEATH: Window{43846460 my.apps.package/my.apps.package.MainActivity paused=false}
D/dalvikvm(217):尝试加载lib/data/data/my.apps.package/lib/libffmpeg.so 0x43757d68
D/dalvikvm(217):添加了共享lib/data/data/my.apps.package/lib/libffmpeg.so 0x43757d68
D/dalvikvm(217):在/data/data/my.apps.package/lib/libffmpeg.so 0x43757d68中未找到JNI_OnLoad
D/dalvikvm(217):尝试加载lib/data/data/my.apps.package/lib/libplayer-4.so 0x43757d68
D/dalvikvm(217):添加了共享lib/data/data/my.apps.package/lib/libplayer-4.so 0x43757d68
D/PlayerActivity(217):要打开的文件:rtsp://red7blue.de/Primetime
D/dalvikvm(217):+++未扫描“/system/lib/libwebcore.so”表示“打开”(错误的CL)
D/dalvikvm(217):+++未扫描“/system/lib/libexif.so”表示“打开”(错误的CL)
D/dalvikvm(217):+++未扫描“/system/lib/libFFTEm.so”表示“打开”(错误的CL)
I/DEBUG(27):************************************************
I/DEBUG(27):构建指纹:“generic/sdk/generic/:1.6/Donut/20842:eng/testkeys”
I/DEBUG(27):pid:217,tid:217>>my.apps.package使用arm-eabi objdump分解libplayer-4.so和libffmpeg.so。检查libplayer-4.so中7d08、4a2b和libffmpeg中2c6fe0附近的地址
找到地址后,找出标签。它是函数名。我遇到了同样的错误,很快我意识到问题是因为我为armv-7平台编译了程序,并尝试在ARMV5上运行它。您可以在Application.mk中对类似以下内容的部分进行评论#APP#u ABI:=armeabi-v7a谢谢您的建议。如果其他努力都无济于事,我会把这当作解决问题的最后机会。我不确定我是否有足够的精力去挖掘复杂的列表和C源代码。因此,首先我将尝试更多的高级调查和实验。