Don't adjust ABI if PackageSetting#pkg is null.
If means the package hasn't been scanned yet, and we will adjust the ABI during the scan of the last package in the shared user group. NOTE: This needs some more cleaning up, which will be done along with the remaining TODO in this function. Change-Id: Ie332806b64e22ab4a4856e1ccd064ff6a01616bf
This commit is contained in:
@@ -5633,12 +5633,13 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
for (PackageSetting ps : packagesForUser) {
|
||||
if (ps.requiredCpuAbiString == null) {
|
||||
ps.requiredCpuAbiString = requirer.requiredCpuAbiString;
|
||||
ps.pkg.applicationInfo.requiredCpuAbi = requirer.requiredCpuAbiString;
|
||||
|
||||
Slog.i(TAG, "Adjusting ABI for : " + ps.pkg.packageName + " to " + ps.requiredCpuAbiString);
|
||||
if (doDexOpt) {
|
||||
performDexOptLI(ps.pkg, forceDexOpt, deferDexOpt, true);
|
||||
mInstaller.rmdex(ps.codePathString, getPreferredInstructionSet());
|
||||
if (ps.pkg != null) {
|
||||
ps.pkg.applicationInfo.requiredCpuAbi = requirer.requiredCpuAbiString;
|
||||
Slog.i(TAG, "Adjusting ABI for : " + ps.name + " to " + ps.requiredCpuAbiString);
|
||||
if (doDexOpt) {
|
||||
performDexOptLI(ps.pkg, forceDexOpt, deferDexOpt, true);
|
||||
mInstaller.rmdex(ps.codePathString, getPreferredInstructionSet());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user