Библиотека "libmaliinstr.so" не найдена
У меня есть приложение для Android, написанное на Scala. Когда я запускаю его, в окне журнала появляется следующее сообщение об ошибке:
08-31 13:11:10.781 5398-5398/my.app.app123 E/linker﹕ load_library(linker.cpp:759): library "libmaliinstr.so" not found
08-31 13:11:10.784 5398-5398/my.app.app123 E/﹕ appName=my.app.app123, acAppName=com.android.cts.openglperf
08-31 13:11:10.784 5398-5398/my.app.app123 E/﹕ 0
08-31 13:11:10.784 5398-5398/my.app.app123 E/﹕ appName=my.app.app123, acAppName=com.android.browser
08-31 13:11:10.784 5398-5398/my.app.app123 E/﹕ 0
Что это значит и как это решить?
2 ответа
Скала не имеет значения.
Я также встречал эту проблему раньше. Это аппаратная проблема с процессором. Нашел в некоторых китайских телефонах. Huawei и xiaomi - известные бренды, у устройств которых может быть эта проблема.
Загрузка этой библиотеки происходит ошибка, когда приложение не может найти правильную платформу *.so
,
От имени libmaliinstr
Полагаю, это связано с малийским инструментом Wiki. Mali - это аппаратный драйвер низкого уровня, поддерживающий расширенные OpenGL/GLES, особенно для рендеринга в браузерах.
Я воспроизвожу его на CPU MT6582 (Hongmi 1S), что означает, что на этом устройстве отсутствует системная библиотека libmaliinstr.so
, Так что приложение не может использовать openglperf
по-прежнему.
Текущее решение:
Пропустите это устройство и проигнорируйте ошибку. (у нас может не быть разрешения на изменение системной библиотеки)
Дополнение:
Вы можете отключить аппаратное ускорение в этих устройствах наверняка.
Этот код помог мне решить проблему
List<ResolveInfo> resInfoList = this.getPackageManager().queryIntentActivities(yourIntent, PackageManager.MATCH_DEFAULT_ONLY);
for (ResolveInfo resolveInfo : resInfoList) {
String packageName = resolveInfo.activityInfo.packageName;
this.grantUriPermission(packageName, yourURI, Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
Как сказал sakiM
, это аппаратная проблема с процессором в некоторых телефонах. Добавив в свой список брендов телефонов, Micromax
тоже есть эта проблема. Спасибо sakiM
для указания на Irrelevant Scala Problem
,
Примечание: если вы используете фрагмент, вы можете заменить this
в getActivity()
в приведенном выше коде.