Native crashes on abort in developer console with Oreo (8.1) Native crashes on abort in developer console with Oreo (8.1) android android

Native crashes on abort in developer console with Oreo (8.1)


Check out this answer:

tgkill - native error on Android 8.0 Samsung S8

It seems it might be related to Samsung S8 and Samsung S8+.

Basically, if you have an edit text in a dialog or dialog fragment, highlight the text and then close the dialog (or do an orientation change) this crash will occur.

To resolve the issue, I had to turn off hardwareAcceleration on the offending activities - this can be done in the manifest and will cause the activity to lag a bit.

   <activity android:name=".activities.CarDamageActivity"           android:hardwareAccelerated="false" />

To help prevent the lag on OTHER devices, one can check the device model and if it is NOT a S8 or S8+, turn ON the hardware acceleration.

    String phoneMake =  Build.MANUFACTURER;    String phoneModel =  Build.MODEL.toUpperCase();    if (!(phoneMake.equalsIgnoreCase("samsung") && (phoneModel.startsWith("SM-G950")            ||  phoneModel.startsWith("SM-G955")))) {        window.setFlags(                WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,                WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);    }


that a Surface is being used hints for OpenGL ES and GLSurfaceView - which extends View.

a possible workaround might be to disable hardware acceleration for the views, which cause it to crash on Android 8.1 and 9.0 (as libhwui.so hints for) - because even if it gets fixed, any device not updated will still keep crashing. this can be done per View (see the documentation):

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {    mSurface.setLayerType(View.LAYER_TYPE_SOFTWARE, null);}

of course, this would result in sub-optimal performance; but still better than a crash.