相关疑难解决方法(0)

如何使用NDK工具编译带源代码的库?

如何用源代码编译库?

我正在使用android ndk开发本机库.有时我从logcat获得崩溃转储消息.

06-18 15:24:58.545: INFO/DEBUG(24667): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-18 15:24:58.545: INFO/DEBUG(24667): Build fingerprint: 'nvidia/harmony/harmony/harmony:2.2/FRF91/20110304.134348:eng/test-keys'
06-18 15:24:58.545: INFO/DEBUG(24667): pid: 25870, tid: 26261  >>> com.andtv <<<
06-18 15:24:58.545: INFO/DEBUG(24667): signal 11 (SIGSEGV), fault addr 4a7b041c
06-18 15:24:58.545: INFO/DEBUG(24667):  r0 4a7b041c  r1 4a75220c  r2 00000200  r3 0000006d
06-18 15:24:58.545: INFO/DEBUG(24667):  r4 4a7b041d  r5 00000000  r6 82434ad0  r7 4a752768
06-18 15:24:58.545: INFO/DEBUG(24667):  r8 4a75220c  r9 000004b4  10 4a752777  fp 00000000 …
Run Code Online (Sandbox Code Playgroud)

android objdump android-ndk

6
推荐指数
1
解决办法
5333
查看次数

GC和onTouch在使用ffmpeg到ndk的应用程序中导致致命信号11(SIGSEGV)错误

在使用FFmpeg和NDK时,我遇到了一个令人讨厌但众所周知的错误:

A/libc(9845): Fatal signal 11 (SIGSEGV), code 1, fault addr 0xa0a9f000 in tid 9921 (AsyncTask #4)
Run Code Online (Sandbox Code Playgroud)

UPDATE

几个小时后,我发现可能有两个问题来源.一个与多线程有关.我查了一下,然后修好了.现在,只有在视频播放(ndk)打开时,应用程序才会崩溃.

我在触摸事件中放了一个"计数器"

  surfaceSterowanieKamera.setOnTouchListener(new View.OnTouchListener() {
            int counter = 0;
            @Override
            public boolean onTouch(View v, MotionEvent event) {             
                if ((event.getAction() == MotionEvent.ACTION_MOVE)){
                    Log.i(TAG, "counter = " + counter);
                    //cameraMover.setPanTilt(some parameters);
                    counter++;
                 }
Run Code Online (Sandbox Code Playgroud)

我开始逐个禁用其他应用功能,但没有视频.我发现,每减少一个功能,压缩需要更长的时间 - 计数器达到更高的值.在关闭视频播放和触摸界面(cameraMover.setPanTilt()注释掉)之外的所有内容后,应用程序通常在计数器介于1600 - 1700之间时会崩溃.

在这种情况下,logcat显示上述错误和GC相关信息.对我而言,似乎GC正在搞乱ndk.

01-23 12:27:13.163: I/Display Activity(20633): n = 1649
01-23 12:27:13.178: I/art(20633): Background sticky concurrent mark sweep GC freed 158376(6MB) AllocSpace objects, 1(3MB) LOS objects, 17% …
Run Code Online (Sandbox Code Playgroud)

android ffmpeg segmentation-fault android-ndk ontouchlistener

4
推荐指数
1
解决办法
3789
查看次数