Merge "dexopt: Drop native libraries from the class loader context." into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
cb302ae4f0
@@ -177,8 +177,10 @@ public class PackageDexOptimizer {
|
||||
private int performDexOptLI(AndroidPackage pkg, @NonNull PackageSetting pkgSetting,
|
||||
String[] targetInstructionSets, CompilerStats.PackageStats packageStats,
|
||||
PackageDexUsage.PackageUseInfo packageUseInfo, DexoptOptions options) {
|
||||
// ClassLoader only refers non-native (jar) shared libraries and must ignore
|
||||
// native (so) shared libraries. See also LoadedApk#createSharedLibraryLoader().
|
||||
final List<SharedLibraryInfo> sharedLibraries = pkgSetting.getPkgState()
|
||||
.getUsesLibraryInfos();
|
||||
.getNonNativeUsesLibraryInfos();
|
||||
final String[] instructionSets = targetInstructionSets != null ?
|
||||
targetInstructionSets : getAppDexInstructionSets(
|
||||
AndroidPackageUtils.getPrimaryCpuAbi(pkg, pkgSetting),
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.android.server.pm.PackageSetting;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* For use by {@link PackageSetting} to maintain functionality that used to exist in
|
||||
@@ -110,6 +111,10 @@ public class PackageStateUnserialized {
|
||||
this.overrideSeInfo = other.overrideSeInfo;
|
||||
}
|
||||
|
||||
public @NonNull List<SharedLibraryInfo> getNonNativeUsesLibraryInfos() {
|
||||
return getUsesLibraryInfos().stream()
|
||||
.filter((l) -> !l.isNative()).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
// Code below generated by codegen v1.0.14.
|
||||
|
||||
Reference in New Issue
Block a user