MuPDF продолжает сбой в Android Oreo - PullRequest
0 голосов
/ 22 января 2019

Я разрабатываю приложение, использующее MuPDF для рендеринга PDF-файлов, я использую MuPdf lib, и оно работает на Android 7, но оно падает на Android 8.Вот ошибка:

                2019-01-22 09:57:53.857 1623-13962/? E/VibratorService: vibratorOff command failed (1).
            2019-01-22 09:57:58.178 13878-13980/com.niveales.wind A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0xa5353a50 in tid 13980 (AsyncTask #5), pid 13878 (m.niveales.wind)
            2019-01-22 09:57:58.418 13983-13983/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
            2019-01-22 09:57:58.421 13983-13983/? A/DEBUG: Build fingerprint: 'google/sdk_gphone_x86/generic_x86:8.1.0/OSM1.180201.007/4586646:user/release-keys'
            2019-01-22 09:57:58.421 13983-13983/? A/DEBUG: Revision: '0'
            2019-01-22 09:57:58.421 13983-13983/? A/DEBUG: ABI: 'x86'
            2019-01-22 09:57:58.421 13983-13983/? A/DEBUG: pid: 13878, tid: 13980, name: AsyncTask #5  >>> com.niveales.wind <<<
            2019-01-22 09:57:58.421 13983-13983/? A/DEBUG: signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xa5353a50
            2019-01-22 09:57:58.431 13983-13983/? A/DEBUG:     eax a5353a48  ebx 860c8df8  ecx 86757800  edx 00000000
            2019-01-22 09:57:58.431 13983-13983/? A/DEBUG:     esi 8815fcc0  edi 8707d174
            2019-01-22 09:57:58.431 13983-13983/? A/DEBUG:     xcs 00000073  xds 0000007b  xes 0000007b  xfs 0000003b  xss 0000007b
            2019-01-22 09:57:58.431 13983-13983/? A/DEBUG:     eip 84fc8b2a  ebp 8cd62d80  esp 8707cfb0  flags 00210286
            2019-01-22 09:57:58.441 13983-13983/? A/DEBUG: backtrace:
            2019-01-22 09:57:58.441 13983-13983/? A/DEBUG:     #00 pc 00144b2a  /data/app/com.niveales.wind-IMSbcpBie_mp0sPGfen-2A==/lib/x86/libmupdf.so
            2019-01-22 09:57:58.441 13983-13983/? A/DEBUG:     #01 pc 001454ba  /data/app/com.niveales.wind-IMSbcpBie_mp0sPGfen-2A==/lib/x86/libmupdf.so (pdf_process_contents+490)
            2019-01-22 09:57:58.441 13983-13983/? A/DEBUG:     #02 pc 000e024d  /data/app/com.niveales.wind-IMSbcpBie_mp0sPGfen-2A==/lib/x86/libmupdf.so
            2019-01-22 09:57:58.442 13983-13983/? A/DEBUG:     #03 pc 000e0545  /data/app/com.niveales.wind-IMSbcpBie_mp0sPGfen-2A==/lib/x86/libmupdf.so (pdf_run_page_contents+261)
            2019-01-22 09:57:58.442 13983-13983/? A/DEBUG:     #04 pc 00046d1d  /data/app/com.niveales.wind-IMSbcpBie_mp0sPGfen-2A==/lib/x86/libmupdf.so (fz_run_page_contents+173)
            2019-01-22 09:57:58.442 13983-13983/? A/DEBUG:     #05 pc 00038487  /data/app/com.niveales.wind-IMSbcpBie_mp0sPGfen-2A==/lib/x86/libmupdf.so (Java_com_artifex_mupdfdemo_MuPDFCore_drawPage+2087)
            2019-01-22 09:57:58.442 13983-13983/? A/DEBUG:     #06 pc 0002b36f  /data/app/com.niveales.wind-IMSbcpBie_mp0sPGfen-2A==/oat/x86/base.odex (offset 0x2b000)
            2019-01-22 09:57:58.442 13983-13983/? A/DEBUG:     #07 pc 0059cbff  [anon:libc_malloc:8a780000]
            2019-01-22 09:57:58.442 13983-13983/? A/DEBUG:     #08 pc 000415af  /dev/ashmem/dalvik-main space (region space) (deleted)
            2019-01-22 09:57:58.442 13983-13983/? A/DEBUG:     #09 pc 10000026  <unknown>
            2019-01-22 09:57:58.449 13983-13983/? A/DEBUG:     #10 pc 0fffffff  <unknown>
            2019-01-22 09:57:58.455 13983-13983/? A/DEBUG:     #11 pc 0c6fffff  /dev/ashmem/dalvik-main space (region space) (deleted) (offset 0xd00000)
            2019-01-22 09:57:59.286 1511-1511/? E//system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_05
            2019-01-22 09:58:01.396 1413-1429/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property
            2019-01-22 09:58:01.837 1413-1428/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property

для Android 7 Я мог загрузить PDF, показать миниатюры и щелкнуть по каждому, чтобы показать страницу, но для Android 8 это не удается при рендеринге.

Я не могу найти, что может быть не так.Я использую классы из Android-MuPDF

Я подозреваю, что класс Async в MuPDFPageAdapter .

    SafeAsyncTask<Void,Void,PointF> sizingTask = new SafeAsyncTask<Void,Void,PointF>() {
                @Override
                protected PointF doInBackground(Void... arg0) {
                    return core.getPageSize(position);
                }

                @Override
                protected void onPostExecute(PointF result) {
                    if (isCancelled()) {
                        return;
                    }
                    // We now know the page size
                    mPageSizes.put(position, result);
                    // Check that this view hasn't been reused for
                    // another page since we started
                    if (pageView.getPage() == position)
                        pageView.setPage(position, result);
                }
            };
...