中止消息:'无法找到OpenGL ES实施'

时间:2015-05-25 06:47:46

标签: android opengl-es

我正试图在我的设备上运行棒棒糖,当我闪现图像时,我得到以下日志

--------- beginning of crash
F/libc    ( 1565): Fatal signal 6 (SIGABRT), code -6 in tid 1565 (surfaceflinger)
I/DEBUG   ( 1572): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   ( 1572): Build fingerprint:     'Android/full_arndale/arndale:5.0.2/LRX22G/veera05211114:eng/test-keys'
I/DEBUG   ( 1572): Revision: '0'
I/DEBUG   ( 1572): ABI: 'arm'
I/DEBUG   ( 1572): pid: 1565, tid: 1565, name: surfaceflinger  >>>     /system/bin/surfaceflinger <<<
I/DEBUG   ( 1572): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
I/DEBUG   ( 1572): Abort message: 'couldn't find an OpenGL ES implementation'
I/DEBUG   ( 1572):     r0 00000000  r1 0000061d  r2 00000006  r3 00000000
I/DEBUG   ( 1572):     r4 b6f34114  r5 00000006  r6 00000002  r7 0000010c
I/DEBUG   ( 1572):     r8 b6962000  r9 00000000  sl 00000000  fp beebfa9c
I/DEBUG   ( 1572):     ip 0000061d  sp beebf510  lr b6ebdf21  pc b6ee1858  cpsr 60070010
I/DEBUG   ( 1572): 
I/DEBUG   ( 1572): backtrace:
I/DEBUG   ( 1572):     #00 pc 0003a858  /system/lib/libc.so (tgkill+12)
I/DEBUG   ( 1572):     #01 pc 00016f1d  /system/lib/libc.so (pthread_kill+52)
I/DEBUG   ( 1572):     #02 pc 00017b2f  /system/lib/libc.so (raise+10)
I/DEBUG   ( 1572):     #03 pc 0001439d  /system/lib/libc.so (__libc_android_abort+36)
I/DEBUG   ( 1572):     #04 pc 00012a3c  /system/lib/libc.so (abort+4)
I/DEBUG   ( 1572):     #05 pc 00007a59  /system/lib/libcutils.so (__android_log_assert+88)
I/DEBUG   ( 1572):     #06 pc 000430b9  /system/lib/libEGL.so
I/DEBUG   ( 1572):     #07 pc 00010641  /system/lib/libEGL.so
I/DEBUG   ( 1572):     #08 pc 00010e21  /system/lib/libEGL.so (eglGetDisplay+24)
I/DEBUG   ( 1572):     #09 pc 000171d5  /system/lib/libsurfaceflinger.so (android::SurfaceFlinger::init()+44)
I/DEBUG   ( 1572):     #10 pc 000007e1  /system/bin/surfaceflinger
I/DEBUG   ( 1572):     #11 pc 000128ed  /system/lib/libc.so (__libc_init+44)
I/DEBUG   ( 1572):     #12 pc 000008d8  /system/bin/surfaceflinger
I/mediaserver( 1574): ServiceManager: 0xb60500c0
I/AudioFlinger( 1574): Using default 3000 mSec as standby time.
I/ServiceManager( 1574): Waiting for service batterystats...
I/DEBUG   ( 1572): 
I/DEBUG   ( 1572): Tombstone written to: /data/tombstones/tombstone_00
 I/ServiceManager( 1563): service 'media.audio_flinger' died

我无法知道openGl有什么问题? 当我尝试使用棒棒糖时,Kitkat在我的设备上正常运行我遇到了这个问题

4 个答案:

答案 0 :(得分:3)

这是因为在/ system / lib / egl或/ vendor / lib / egl中找不到OpenGL ES库

答案 1 :(得分:1)

添加到colordancer的答案,这是,它会报告致命错误:

https://android.googlesource.com/platform/frameworks/native/+/android-7.0.0_r1/opengl/libs/EGL/Loader.cpp#229

这是因为它没有在/ vendor或/ system分区中找到 EGL ES libs

目前,

libEGL.so
libGLESv2.so
libGLESv1_CM.so

这些是适用于Android的可用EGL ES库。

<强>解决方案: 只需从库存rom中找到该文件并将其放入ROM中并检查它是否继续。如果是,您可以将其添加到供应商预制件中。如果没有,可能还有其他问题

备注 目前在我的OnePlus 2上运行我的卤素物质构建,有以下几点:

/ vendor

root@:/vendor # busybox find . | grep egl                                  
./lib/egl
./lib/egl/eglSubDriverAndroid.so
./lib/egl/libEGL_adreno.so
./lib/egl/libGLESv1_CM_adreno.so
./lib/egl/libGLESv2_adreno.so
./lib/egl/libQTapGLES.so
./lib/egl/libq3dtools_adreno.so
./lib/egl/libq3dtools_esx.so
./lib64/egl
./lib64/egl/eglSubDriverAndroid.so
./lib64/egl/libEGL_adreno.so
./lib64/egl/libGLESv1_CM_adreno.so
./lib64/egl/libGLESv2_adreno.so
./lib64/egl/libQTapGLES.so
./lib64/egl/libq3dtools_adreno.so
./lib64/egl/libq3dtools_esx.so

并且,在 / system

root@:/system # find . | grep egl
./app/Gallery2/lib/arm64/libjni_eglfence.so
./lib64/libjni_eglfence.so
./vendor/lib/egl
./vendor/lib/egl/eglSubDriverAndroid.so
./vendor/lib/egl/libEGL_adreno.so
./vendor/lib/egl/libGLESv1_CM_adreno.so
./vendor/lib/egl/libGLESv2_adreno.so
./vendor/lib/egl/libQTapGLES.so
./vendor/lib/egl/libq3dtools_adreno.so
./vendor/lib/egl/libq3dtools_esx.so
./vendor/lib64/egl
./vendor/lib64/egl/eglSubDriverAndroid.so
./vendor/lib64/egl/libEGL_adreno.so
./vendor/lib64/egl/libGLESv1_CM_adreno.so
./vendor/lib64/egl/libGLESv2_adreno.so
./vendor/lib64/egl/libQTapGLES.so
./vendor/lib64/egl/libq3dtools_adreno.so
./vendor/lib64/egl/libq3dtools_esx.so

答案 2 :(得分:1)

1)下载相应的硬件驱动程序,尤其是提供libGLESv2_andreno.so, libGLESv2.so...等egl实现的GPU,并将二进制文件解压缩到您的AOSP目录中。

参考链接:https://developers.google.com/android/nexus/drivers

2)重建Android系统映像

  

make -j8

3)删除数据并将图像刻录到设备上

  

fastboot -w

     

fastboot flashall

答案 3 :(得分:1)

您似乎没有包含所需的专有库。

请按照此link的说明下载特定的库。之后,将二进制文件放在AOSP源项目的根目录中并执行

make clobber && make -j4

然后你很高兴。