Неверный файл ELF - PullRequest
       7

Неверный файл ELF

0 голосов
/ 25 марта 2020

, если я запускаю свое приложение на Android, я всегда получаю эту ошибку, и приложение немедленно вылетает:

03-25 14:29:44.011  1833  7290 I ActivityManager: START u0 {flg=0x10000000 cmp=cz.jech.muzika/.Muzika} from uid 2000
03-25 14:29:44.093  1833  1998 I ActivityManager: Start proc 17399:cz.jech.muzika/u0a464 for activity cz.jech.muzika/.Muzika
03-25 14:29:44.098 17399 17399 E cz.jech.muzika: Not starting debugger since process cannot load the jdwp agent.
03-25 14:29:44.193  1833  2400 I WindowManager:   SURFACE show Surface(name=Splash Screen cz.jech.muzika)/@0xbe60fc9: Splash Screen cz.jech.muzika
03-25 14:29:44.298 14007 17395 D InstalledAppProviderSer: insertAppIntoDb cz.jech.muzika
03-25 14:29:44.302 17399 17414 E AndroidRuntime: Process: cz.jech.muzika, PID: 17399
03-25 14:29:44.302 17399 17414 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: invalid ELF file "/data/app/cz.jech.muzika-iMRmvRSnmwPpVhRlaZJJwg==/lib/arm64/libswscale.so" load segment[4]: p_offset (0x41000) + p_filesz (0x0) ( = 0x41000) past end of file (0x40910)
03-25 14:29:44.306  1833  9531 W ActivityManager:   Force finishing activity cz.jech.muzika/.Muzika
03-25 14:29:44.327  1833  4076 I ActivityManager: Process cz.jech.muzika (pid 17399) has died: vis  TOP
03-25 14:29:44.336  1140  1237 W SurfaceFlinger: Attempting to destroy on removed layer: AppWindowToken{485887d token=Token{1c63ed4 ActivityRecord{a8f0c27 u0 cz.jech.muzika/.Muzika t4527}}}#0

Что может быть причиной root ошибки? Я использую библиотеки ffmpeg от здесь . Что означает ошибка «неверный файл ELF»?

1 Ответ

0 голосов
/ 26 марта 2020

Файл /lib/arm64/libswscale.so поврежден. В частности, он имеет сегмент PT_LOAD со смещением, которое находится за концом файла (размер файла 0x40910) и имеет длину 0.

Один из способов, которым файл может быть поврежден, - это если вы сделали FTP передача и забыл установить binary режим. (Конечно, существует множество других способов, таких как распаковка архива и нехватка места на диске.)

Лучше всего повторно извлечь архив, проверить длину и md5sum файла, и используйте scp или что-то отличное от ASCII FTP для передачи, затем убедитесь, что md5sum остается неизменным на целевом устройстве.

...