Dexpreopt standalone system server jars.
Standalone system server jars are dynamically loaded by system server using a `PathClassLoader` whose parent is `SYSTEMSERVERCLASSPATH`. They are listed in `PRODUCT_STANDALONE_SYSTEM_SERVER_JARS` and `PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS` in Makefile. We need to dexpreopt them to achieve better performance. Bug: 203198541 Test: m nothing Test: - 1. Add a standalone system server jar (e.g., by patching aosp/1906158) 2. Build a system image. 3. See the odex and vdex files generated in $ANDROID_PRODUCT_OUT/system/framework/oat/ 4. Flash the image to a device. 5. Run `atest art_standalone_dexpreopt_tests`. Change-Id: I358a62d34989c5c8eba12e18fe6167e0b72ff69d
This commit is contained in:
@@ -72,9 +72,10 @@ func (m *dexpreoptSystemserverCheck) GenerateAndroidBuildActions(ctx android.Mod
|
||||
return
|
||||
}
|
||||
|
||||
systemServerJars := dexpreopt.AllSystemServerJars(ctx, global)
|
||||
// TODO(b/203198541): Check all system server jars.
|
||||
systemServerJars := global.AllSystemServerClasspathJars(ctx)
|
||||
for _, jar := range systemServerJars.CopyOfJars() {
|
||||
dexLocation := dexpreopt.GetSystemServerDexLocation(global, jar)
|
||||
dexLocation := dexpreopt.GetSystemServerDexLocation(ctx, global, jar)
|
||||
odexLocation := dexpreopt.ToOdexPath(dexLocation, targets[0].Arch.ArchType)
|
||||
odexPath := getInstallPath(ctx, odexLocation)
|
||||
vdexPath := getInstallPath(ctx, pathtools.ReplaceExtension(odexLocation, "vdex"))
|
||||
|
Reference in New Issue
Block a user