未find库“libmaliinstr.so”

我有一个用Scala编写的Android应用程序。 当我启动它时,日志窗口中会出现以下错误消息:

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 

它是什么意思以及如何解决它?

Scala无关紧要。

我以前也遇到过这个问题。 这是CPU的硬件问题。 在一些中国手机中find。 华为和小米是知名品牌,哪些设备可能有这个问题。

当应用程序找不到正确的平台*.so时,会发生加载此库错误。

从名称libmaliinstr ,我认为它与Mali instrument Wiki有关 。 Mali是一个低级硬件驱动程序,支持增强的OpenGL / GLES,尤其适用于浏览器渲染。

我在CPU MT6582(Hongmi 1S)上重现它,这意味着该设备缺少系统lib libmaliinstr.so 。 所以应用程序不能像往常一样使用openglperf

当前解决方案

跳过此设备并忽略该错误。 (我们可能没有权限修改系统库)

加成:

您可以确保在这些设备中禁用硬件加速。

这段代码帮助我解决了这个问题

 List 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 ,在某些手机中CPU存在硬件问题。 除了他的手机品牌列表, Micromax也有这个问题。 谢谢sakiM指出Irrelevant Scala Problem

注意:如果您正在使用片段,则可以this替换为上面给定代码中的getActivity()