Revert "Share vdex files in the ART apex between architectures (..."
Revert submission 1254009-vdex-symlinks
Reason for revert: This causing some devices to fail to boot. See b/151836042 for details.
Reverted Changes:
Iced89071b:Expect vdex files in a target-independent director...
Ifbceb8457:Share vdex files in the ART apex between architect...
Change-Id: I5bd88f8e61d442eed921d840c90777a2750ddb16
diff --git a/apex/apex.go b/apex/apex.go
index ab6ceff..cddd72b 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -2315,10 +2315,7 @@
// Build rules are generated by the dexpreopt singleton, and here we access build artifacts
// via the global boot image config.
if a.artApex {
- artAndOatFiles, vdexFiles := java.DexpreoptedArtApexJars(ctx)
-
- // Copy *.art and *.oat files to arch-specific subdirectories.
- for arch, files := range artAndOatFiles {
+ for arch, files := range java.DexpreoptedArtApexJars(ctx) {
dirInApex := filepath.Join("javalib", arch.String())
for _, f := range files {
localModule := "javalib_" + arch.String() + "_" + filepath.Base(f.String())
@@ -2326,18 +2323,6 @@
filesInfo = append(filesInfo, af)
}
}
-
- // Copy *.vdex files to a common subdirectory.
- for _, file := range vdexFiles {
- dirInApex := "javalib"
- localModule := "javalib_" + filepath.Base(file.String())
- af := newApexFile(ctx, file, localModule, dirInApex, etc, nil)
- // Add a symlink to the *.vdex file for each arch-specific subdirectory.
- for arch := range artAndOatFiles {
- af.symlinks = append(af.symlinks, filepath.Join(arch.String(), filepath.Base(file.String())))
- }
- filesInfo = append(filesInfo, af)
- }
}
if a.private_key_file == nil {
diff --git a/apex/builder.go b/apex/builder.go
index 97be852..464d843 100644
--- a/apex/builder.go
+++ b/apex/builder.go
@@ -335,7 +335,6 @@
for _, fi := range a.filesInfo {
destPath := android.PathForModuleOut(ctx, "image"+suffix, fi.Path()).String()
copyCommands = append(copyCommands, "mkdir -p "+filepath.Dir(destPath))
-
if a.linkToSystemLib && fi.transitiveDep && fi.AvailableToPlatform() {
// TODO(jiyong): pathOnDevice should come from fi.module, not being calculated here
pathOnDevice := filepath.Join("/system", fi.Path())
@@ -344,16 +343,10 @@
copyCommands = append(copyCommands, "cp -f "+fi.builtFile.String()+" "+destPath)
implicitInputs = append(implicitInputs, fi.builtFile)
}
-
// create additional symlinks pointing the file inside the APEX
for _, symlinkPath := range fi.SymlinkPaths() {
symlinkDest := android.PathForModuleOut(ctx, "image"+suffix, symlinkPath).String()
- symlinkTarget, err := filepath.Rel(filepath.Dir(symlinkDest), destPath)
- if err != nil {
- panic("Cannot compute relative path from " + destPath + " to " + filepath.Dir(symlinkDest))
- }
- copyCommands = append(copyCommands, "mkdir -p "+filepath.Dir(symlinkDest))
- copyCommands = append(copyCommands, "ln -sfn "+symlinkTarget+" "+symlinkDest)
+ copyCommands = append(copyCommands, "ln -sfn "+filepath.Base(destPath)+" "+symlinkDest)
}
}
@@ -416,7 +409,6 @@
}
} else {
readOnlyPaths = append(readOnlyPaths, pathInApex)
- readOnlyPaths = append(readOnlyPaths, f.SymlinkPaths()...)
}
dir := f.installDir
for !android.InList(dir, executablePaths) && dir != "" {