Add a synchronized lock into the SplitDependencyLoaderImpl
- There's a potential race condition going on when components
from the isolated split are creating the split class loader.
Add a synchronized lock for the array of cached class loaders
and resource paths to prevent the race.
- Remove the synchronized class reference of LoadedApk. Using an
explicit mLock object to synchronize the
#createOrUpdateClassLoaderLocked() and cached split class loader
instead.
Bug: 172602571
Test: atest IsolatedSplitsTests
Test: atest ClassloaderSplitsTest
Test: atest SplitTests
Change-Id: Ifb77d067ddf06b5192d7ce9d4e78958b56faac7c
1 file changed