Merge "Create an installation rule to copy vdex to common arch device directory" into main
This commit is contained in:
@@ -943,20 +943,17 @@ func packageFileForTargetImage(ctx android.ModuleContext, image *bootImageVarian
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, install := range image.vdexInstalls {
|
for _, install := range image.vdexInstalls {
|
||||||
if image.target.Arch.ArchType.Name != ctx.DeviceConfig().DeviceArch() {
|
|
||||||
// Note that the vdex files are identical between architectures. If the target image is
|
|
||||||
// not for the primary architecture create symlinks to share the vdex of the primary
|
|
||||||
// architecture with the other architectures.
|
|
||||||
//
|
|
||||||
// Assuming that the install path has the architecture name with it, replace the
|
|
||||||
// architecture name with the primary architecture name to find the source vdex file.
|
|
||||||
installPath, relDir, name := getModuleInstallPathInfo(ctx, install.To)
|
installPath, relDir, name := getModuleInstallPathInfo(ctx, install.To)
|
||||||
if name != "" {
|
if name == "" {
|
||||||
srcRelDir := strings.Replace(relDir, image.target.Arch.ArchType.Name, ctx.DeviceConfig().DeviceArch(), 1)
|
continue
|
||||||
ctx.InstallSymlink(installPath.Join(ctx, relDir), name, installPath.Join(ctx, srcRelDir, name))
|
|
||||||
}
|
}
|
||||||
} else {
|
// Note that the vdex files are identical between architectures. Copy the vdex to a no arch directory
|
||||||
packageFile(ctx, install)
|
// and create symlinks for both the primary and secondary arches.
|
||||||
|
ctx.InstallSymlink(installPath.Join(ctx, relDir), name, installPath.Join(ctx, "framework", name))
|
||||||
|
if image.target.Arch.ArchType.Name == ctx.DeviceConfig().DeviceArch() {
|
||||||
|
// Copy the vdex from the primary arch to the no-arch directory
|
||||||
|
// e.g. /system/framework/$bootjar.vdex
|
||||||
|
ctx.InstallFile(installPath.Join(ctx, "framework"), name, install.From)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user