Android中的EGL/GLES库不是在运行时直接链接的,而是在第一次使用时根据配置选择性载入的。更具体的,libEGL.so文件包含了一个“载入器”,它会尝试载入硬件图形库或是软件图形库(libagl)。载入器的源代码位于:frameworks/base/openl/libs/EGL/Loader.cpp。载入什么库取决于配置文件/system/lib/egl/egl.cfg,egl.cfg有如下形式:

 

0 1

0 0 android

 

其中第一个数字为display number,该项必为0因为EGL/ELES库不支持其它的。

第二个数字如果为0代表硬件库,0代表软件图形库。如果有硬件图形库,则必须放在软件图形库对应行前。

第三个域是共享库后缀,库的全称为libEGL_.so,libGLESv1_C_.so和libGLESv2_.so,这些库必须被放在/system/lib/egl下面。android为系统软件图形库保留。

 

举例来说,在emulator项目中,egl.cfg的内容为:

 

0 1 emulation

0 0 android

 

第一行代表硬件图形库,第二行代表软件图形库。

 

更多相关文章

  1. Android个版本适配之7.0
  2. android画图——Path()的使用
  3. android Activity设置透明主题样式方法
  4. android看不见main函数怎么办?程序异常了,能够不提示“xxx软件停止
  5. Android学习——AndroidX
  6. Drawable、Bitmap、Canvas和Paint的区别
  7. 开源自己写的刷票器软件(windows和Android)
  8. ubuntu下给android虚拟机安装apk软件
  9. 在Android程序代码中实现软件安装和卸载

随机推荐

  1. 设置和取消闹钟
  2. Android(安卓)ViewPager左右滑动月历
  3. Android Logcat 封装类
  4. android中的侧滑效果
  5. Android(安卓)BCM4330 FM 驱动驱动
  6. ubuntu下启动AS 模拟器报错" Unknown AVD
  7. Android(安卓)之Console不断自动弹出的解
  8. 简单的android数据类和Json转换(Data Jso
  9. Mac编译FFmpeg(Android版本)
  10. android 屏蔽Home键(SDK3.0以下)