在系统BoardConfig.mk中,将USE_HW_COMPOSER设为false,同时在LocalWindowManager函数中强制将mHardwareAccelerated赋值为false,其它有对变量mHardwareAccelerated赋值的地方按同样方式改为false,禁止hardware openGL。
frameworks/base/core/java/android/view/Window.java
LocalWindowManager(WindowManager wm, boolean hardwareAccelerated) {
super(wm, getCompatInfo(mContext));
// mHardwareAccelerated = hardwareAccelerated ||
// SystemProperties.getBoolean(PROPERTY_HARDWARE_UI, false);
mHardwareAccelerated = false;
}
如果显示wallpaper时死机,可以暂时先禁用:
frameworks/base/core/res/res/values/config.xml
<!-- True if WallpaperService is enabled -->
<!-- Temporarily set to false until openGL is ready. -->
<bool name="config_enableWallpaperService">false</bool>