Не удалось открыть файл dex, нераспознанный номер версии
Я загрузил apk в system/priv-app на своем ТВ-боксе, но я получаю эту ошибку, когда пытаюсь удалить приложение:
dex2oat : Failed to create oat file: /data/dalvik-cache/arm/system@priv-app@CanvasPackageInstaller@CanvasPackageInstaller.apk@classes.dex: Permission denied
dex2oat : dex2oat took 803.750us (threads: 4)
art : Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --instruction-set=arm --instruction-set-features=smp,-div,-atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a9 --instruction-set-features=default --dex-file=/system/priv-app/CanvasPackageInstaller/CanvasPackageInstaller.apk --oat-file=/data/dalvik-cache/arm/system@priv-app@CanvasPackageInstaller@CanvasPackageInstaller.apk@classes.dex) because non-0 exit status
art : Failed to open dex file '/system/priv-app/CanvasPackageInstaller/CanvasPackageInstaller.apk' from memory: Unrecognized version number in /system/priv-app/CanvasPackageInstaller/CanvasPackageInstaller.apk: 0 3 7
Я пытался очистить dalvik-кеш, но безуспешно. Что это значит?
3 ответа
Версия 037 формата dex была представлена на N таймфрейме. Устройства с версией Android старше N не смогут ее прочитать.
У меня аналогичная ошибка возникла при установке отладочного apk, который был создан с устройством Android 11, на устройство Android 8.
Два способа решить эту проблему:
- Подключите целевое устройство и перестройте приложение в Android Studio.
- Очистите и соберите из командной строки, затем установите apk на целевое устройство.
Это может не случиться с выпуском apk.
В моем случае проблема была решена включением Instant Run. При каждом запуске приложения появлялось приглашение (установить платформу Android 7 для мгновенного запуска / продолжить без мгновенного запуска). Когда я нажимал SKIP, для некоторых приложений было то же исключение (версия dex... бла-бла). Установка соответствующей платформы исключена.