图书馆" libmaliinstr.so"未找到

时间:2014-08-31 07:46:29

标签: android macos scala proguard

我有一个用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

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

2 个答案:

答案 0 :(得分:13)

Scala无关紧要。

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

当应用程序无法找到正确的平台*.so时,会出现加载此库错误。

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

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

目前的解决方案:

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

增加:

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

答案 1 :(得分:1)

此代码帮助我解决了问题

import urllib2
urllib2.urlopen('HEAD^')

正如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); } 所述,某些手机的CPU存在硬件问题。添加到他的手机品牌列表中,sakiM也存在这个问题。感谢您Micromax指出sakiM

注意:如果您使用的是片段,则可以在上面给出的代码中将Irrelevant Scala Problem替换为this