Use the class loader context when optimizing secondary dex files
Record the class loader context for secondary dex loads and pass it to dexopt during compilation. The class loader context is passed from libcore every time a BaseDexClassLoader is created and its recorded in the package dex usage file. Note that the context may be: - unknown: if the dex file was not use after the the upgrade and its context was not yet updated - unsupported: if any of the class loaders from the loading context is unsupported (only PathClassLoader and DelegateLastClassLoader are supported). - variable: if it changes over time, form one run to another. In all the above cases the old compilation behavior is preserved for now.(i.e. the dex file with be compiled with SKIP_SHARED_LIBRARY_CHECK) Bug: 38138251 Test: runtest -x services/tests/servicestests/src/com/android/server/pm/dex/ adb shell cmd package compile -f -m quicken ^Csecondary-dex com.google.android.gms Change-Id: I2486522fb811f9fc58a44b92642f43a41e7d5bac
Loading
Please register or sign in to comment