Add usesTargetFiles option in dexpreopt_gen
For running dex2oat on the target_files, the paths should be use the device install path instead of the path starting with $(OUT). So add usesTargetFiles option and basePath option which indicates extracted path. With those options, the path is replaced with $(basePath)/$(device path) And also, add DexPreoptImageDeviceLocations in the config which refers to the boot image path(without arch) on the device. Because DexPreoptImage related device path was missing. Bug: 158843648 Test: dexpreopt_gen -usesTargetFiles -basePath (extract path) and then check if paths in the generated shell script are based on on-device path. Change-Id: I9667fadbf3b7c6f770e0d1bcbee5d67c1ecd8a3d
This commit is contained in:
@@ -184,7 +184,7 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Wr
|
||||
imagesDeps = append(imagesDeps, variant.imagesDeps)
|
||||
}
|
||||
// The image locations for all Android variants are identical.
|
||||
hostImageLocations := bootImage.getAnyAndroidVariant().imageLocations()
|
||||
hostImageLocations, deviceImageLocations := bootImage.getAnyAndroidVariant().imageLocations()
|
||||
|
||||
var profileClassListing android.OptionalPath
|
||||
var profileBootListing android.OptionalPath
|
||||
@@ -224,9 +224,10 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Wr
|
||||
ProvidesUsesLibrary: providesUsesLib,
|
||||
ClassLoaderContexts: d.classLoaderContexts,
|
||||
|
||||
Archs: archs,
|
||||
DexPreoptImagesDeps: imagesDeps,
|
||||
DexPreoptImageLocationsOnHost: hostImageLocations,
|
||||
Archs: archs,
|
||||
DexPreoptImagesDeps: imagesDeps,
|
||||
DexPreoptImageLocationsOnHost: hostImageLocations,
|
||||
DexPreoptImageLocationsOnDevice: deviceImageLocations,
|
||||
|
||||
PreoptBootClassPathDexFiles: dexFiles.Paths(),
|
||||
PreoptBootClassPathDexLocations: dexLocations,
|
||||
|
Reference in New Issue
Block a user