从Android AOSP禁用图形

时间:2017-11-06 08:28:30

标签: android opengl-es opengl-es-2.0 android-source

我正在进行 AOSP 构建,其中供应商尚未准备好OPENGL实施。因此,如果没有有效的OpenGL实现,我会遇到一个抱怨缺少OpenGL实现的崩溃。     有没有什么方法可以构建无头的android(没有任何OpenGL / Graphics / Surface Flinger等)??

我们尝试了类似下面的选项,但我得到了相同的错误     ro.config.headless=0, hw.gpu.enabled=0

错误:

[  109.562468] DEBUG: Abort message: 'couldn't find an OpenGL ES implementation'
[  109.571761] DEBUG:     r0 00000000  r1 000000a2  r2 00000006  r3 00000008
[  109.579627] DEBUG:     r4 000000a2  r5 000000a2  r6 beffe03c  r7 0000010c
[  109.587486] DEBUG:     r8 00000000  r9 b3504000  sl 6f685e18  fp 6f6ee7e0
[  109.595362] DEBUG:     ip 00000000  sp beffe028  lr b4529d3f  pc b4524248  cpsr 200f0030
[  110.727831] DEBUG:
[ 6529.168212] DEBUG:     #00 pc 0001a248  /system/lib/libc.so (abort+63)
[ 6529.175791] DEBUG:     #01 pc 0000665b  /system/lib/liblog.so (__android_log_assert+146)
[ 6529.185142] DEBUG:     #02 pc 0000dfc1  /system/lib/libEGL.so (android::Loader::open(android::egl_connection_t*)+428)
[ 6529.197295] DEBUG:     #03 pc 00009c4f  /system/lib/libEGL.so (android::egl_init_drivers()+54)
[ 6529.207205] DEBUG:     #04 pc 00009e29  /system/lib/libEGL.so (eglGetDisplay+64)
[ 6529.215741] DEBUG:     #05 pc 0007921f  /system/lib/libandroid_runtime.so (android_eglGetDisplayInt(_JNIEnv*, _jobject*, int)+26)
[ 6529.229103] DEBUG:     #06 pc 00aa64c3  /system/framework/arm/boot-framework.oat (offset 0x593000) (android.hardware.usb.UsbDevice.native_get_device_name [DEDUPED]+98)
[ 6529.246131] DEBUG:     #07 pc 01265cbd  /system/framework/arm/boot-framework.oat (offset 0x593000) (com.android.internal.os.ZygoteInit.preload+404)
[ 6529.261228] DEBUG:     #08 pc 01265291  /system/framework/arm/boot-framework.oat (offset 0x593000) (com.android.internal.os.ZygoteInit.main+1784)
[ 6529.276097] DEBUG:     #09 pc 00403775  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
[ 6529.286310] DEBUG:     #10 pc 004089f1  /system/lib/libart.so (art_quick_invoke_static_stub+228)
[ 6529.296409] DEBUG:     #11 pc 000b0f93  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+174)
[ 6529.312774] DEBUG:     #12 pc 00358845  /system/lib/libart.so (art::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::ArgArray*, art::JValue*, char const*)+52)

2 个答案:

答案 0 :(得分:0)

以前可以通过软件OpenGL ES实现来启动Android,但这已经被删除了。我相信OpenGL ES 2.0现在已成为基本启动的必要条件。

答案 1 :(得分:0)

你应该修改 /system/lib/egl/egl.conf

实施例。 如果你有:

0 0 android
0 1 adreno

将其更改为:

0 1 android