我有一个用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
它是什么意思以及如何解决它?
答案 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
。