old paths contains all entries when updating
In certains circumstances, only the base and split APKs were included in
the "old paths" list when updating the application info. Instead, this
list should contain _all_ elements, including any additional libraries
that may be added to the overall classpath.
Bug: 77342775
Bug: 80337129
Test: Manual. Install a package. Install a split with --dont_kill. See that the path doesn't contain duplicate entries
Test: Uninstall GMS updates and reinstall. Verify that GMS Dex files aren't extrated out of the APK.
(cherry picked from commit b9656a93aa)
Merged-In: Id9739cce215ab07bff1b17966583c0cf51a0b34a
Change-Id: I3c61b1b61dc1ab8a1a51a5be68f19ae9af586692
This commit is contained in:
committed by
Mathieu Chartier
parent
e859c42e23
commit
4cfaa2ebdb
@@ -5295,8 +5295,8 @@ public final class ActivityThread {
|
||||
}
|
||||
}
|
||||
}
|
||||
final List<String> oldPaths =
|
||||
sPackageManager.getPreviousCodePaths(packageName);
|
||||
final ArrayList<String> oldPaths = new ArrayList<>();
|
||||
LoadedApk.makePaths(this, loadedApk.getApplicationInfo(), oldPaths);
|
||||
loadedApk.updateApplicationInfo(aInfo, oldPaths);
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
|
||||
@@ -648,8 +648,6 @@ interface IPackageManager {
|
||||
|
||||
boolean isPackageDeviceAdminOnAnyUser(String packageName);
|
||||
|
||||
List<String> getPreviousCodePaths(in String packageName);
|
||||
|
||||
int getInstallReason(String packageName, int userId);
|
||||
|
||||
ParceledListSlice getSharedLibraries(in String packageName, int flags, int userId);
|
||||
|
||||
Reference in New Issue
Block a user