2014-08-31 18 views
14

Ho un'app per Android scritta in Scala. Quando lo avvio viene visualizzato il seguente messaggio di errore nella finestra di registro:Libreria "libmaliinstr.so" non trovata

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 

Che cosa significa e come risolverlo?

+0

Accade lo stesso per me, hai trovato qualche soluzione o la causa di questo errore? – Coconut

+0

Lo stesso qui con un dispositivo cinese. App nativa per Android. – daVe

+0

@daVe, il mio è anche cinese –

risposta

13

Scala è irrilevante.

Avevo anche incontrato questo problema prima. È un problema hardware con la CPU. Trovato in alcuni telefoni cinesi. Huawei e xiaomi sono marchi noti per i quali i dispositivi potrebbero presentare questo problema.

Carica questo errore di libreria si verifica quando l'applicazione non riesce a trovare una piattaforma corretta *.so.

Dal nome libmaliinstr, presumo relativo allo strumento MaliWiki. Mali è un driver hardware di basso livello, che supporta OpenGL/GLES migliorato, in particolare per il rendering del browser.

Lo riproduco su CPU MT6582 (Hongmi 1S), il che significa che questo dispositivo manca un lib di sistema libmaliinstr.so. Quindi l'app non può usare openglperf come al solito.

soluzione attuale:

saltare questo dispositivo e ignorare l'errore. (Non possiamo avere il permesso di modificare una libreria di sistema)

Aggiunta:

È possibile disattivare l'hardware di accelerare in questi dispositivi di sicuro.

1

Questo codice mi ha aiutato a risolvere il problema

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); 
} 

Come detto da sakiM, è un problema di hardware con CPU in alcuni telefoni. Aggiungendo al suo elenco di marche di telefoni, anche Micromax ha questo problema. Grazie sakiM per aver indicato il numero Irrelevant Scala Problem.

Nota: se si utilizza il frammento, è possibile sostituire this in getActivity() nel codice sopra indicato.

+0

Grazie per la modifica 'Pang'. Ma non sono sicuro di ciò che hai modificato. Potresti indicarmelo, per favore? – sam