• Torne (Richard Coles)'s avatar
    Test workaround for bug with split APK handling on O. · 0d39760b
    Torne (Richard Coles) authored
    Android O's WebView zygote code doesn't handle split APKs correctly when
    preloading the code for the current WebView implementation, creating an
    incorrect entry in the Java classloader cache. This causes a crash when
    the renderer process initializes, since it tries to load the native
    library into two different classloaders as a result, which is not
    permitted.
    
    We're hoping to work around this using reflection to correct the cache
    entry during the zygote preloading phase, so that when the renderer
    starts up, it correctly reuses the preloaded classloader instead of
    creating a new one. However, we're not sure if this reflection will work
    on all devices due to vendor changes.
    
    To validate that the reflection works, this CL will attempt the
    reflection but not actually change anything - if the reflection fails
    due to a framework change, it will catch the exception instead of
    crashing, and simply record that in a static variable which can later be
    logged with UMA.
    
    Bug: 891452
    Change-Id: I41dabb9c4cb4151676229a07abd37c803dbc3967
    Reviewed-on: https://chromium-review.googlesource.com/1255388
    Commit-Queue: Richard Coles <torne@chromium.org>
    Reviewed-by: default avatarTibor Goldschwendt <tiborg@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#596293}
    0d39760b
BUILD.gn 3.89 KB