E/libEGL: validate_display:99错误3008(EGL_BAD_DISPLAY),安卓7.1 Nougat操作系统。

79

在我的Android应用程序在7.1 Nougat上运行时,我遇到以下错误:

E/libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)[ 04-21 10:19:18.788 4410: 4622 D/ ]
HostConnection::get() New Host Connection established 0x7db835ad6200, tid 4622

build.gradle中,我正在使用vectorDrawables.useSupportLibrary = true以及以下依赖项:

dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs') 
  androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support',
    module: 'support-annotations'
  }) 
  compile 'com.android.support:appcompat-v7:26.1.0'
  compile 'com.android.support.constraint:constraint-layout:1.0.2'
  testCompile 'junit:junit:4.12'
  compile 'com.google.android.gms:play-services-location:11.6.0'
  compile 'com.google.android.gms:play-services-places:11.6.0'
  compile project(':library')
}

在 build types 中我有:

buildTypes {
  release {
    minifyEnabled true 
    shrinkResources true 
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  }
}

对于项目的build.gradle文件,我的设置如下:

dependencies {
  classpath 'com.android.tools.build:gradle:3.0.1'
  // NOTE: Do not place your application dependencies here; they belong 
  // in the individual module build.gradle files 
  classpath 'com.google.gms:google-services:3.1.1'
}

在我的用户界面中,我正在使用ImageView,位于另一个ImageView的顶部。这个问题在AVD和真实设备上都出现了。

  • 有人遇到过这个问题吗?
  • 是什么原因导致了这个错误?
  • 有什么解决方案吗?

1
你正在使用Webview吗? - jeet.chanchawat
1
那你现在用的是什么?我只在webview中遇到过这样的问题。也许你可以发布一下引发这个错误的代码。 - Rainmaker
2
为了缩小问题的范围,人们需要更多的信息。你能否在你的问题中添加以下内容:完整的堆栈跟踪、可能引发此错误的代码(如果你知道的话)、Gradle文件中的依赖列表。此外,像它是否仅在Android 7.1上出现(但不在5或6上出现),或者它是否仅在你正在使用的特定设备上出现的信息可能会有帮助。你是否在模拟器设备和Android 7.1上看到了相同的错误?这个错误是否随机抛出,还是你可以看到一些模式,比如当我打开这个特定的View时,我的logcat中就会出现这个错误... - Peppermint Paddy
1
@KUSHA 不要在评论区添加你的修改意见,而是编辑你的问题。 - Niza Siwale
2
有人找到了这个问题的解决方案吗?我也遇到了同样的问题,只有在Android OS 7.1中应用程序在WebView上崩溃。 - Baskaran Veerabathiran
显示剩余12条评论
1个回答

1

我认为"EGL_BAD_DISPLAY"错误是在Android应用程序和系统之间的显示连接存在问题时发生的。 如果不知道细节,可能有很多因素(与图形驱动程序有关的问题,过时的软件或与设备上运行的其他应用程序冲突)。

这个问题的一个可能原因与支持库中矢量可绘制对象的使用有关。在使用矢量可绘制对象时,重要的是要确保所使用的Android版本是兼容的。矢量可绘制对象需要最低API级别为21。如果您使用较旧版本的Android,则可能需要使用AppCompat库以确保兼容性。

尝试

  1. 将应用程序的依赖项更新到最新版本,包括支持库和Google Play服务。
  2. 确保使用的Android版本与矢量可绘制对象兼容。如果不是,请使用AppCompat库。
  3. 如果问题仍然存在,请尝试禁用ProGuard以查看是否解决了该问题。
  4. 检查设备上运行的其他应用程序是否存在冲突...关闭其他应用程序以查看问题是否消失。
  5. 如果这些步骤都无法解决问题,请尝试更新设备上的图形驱动程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接