Skip to content

Commit 38f3be7

Browse files
committed
Fix PackageInstallerSession error
Signed-off-by: tiann <twsxtd@gmail.com>
1 parent 3d7fe7c commit 38f3be7

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

VirtualApp/lib/src/main/java/com/lody/virtual/server/pm/installer/PackageInstallerSession.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,11 @@ private void validateInstallLocked() throws PackageManagerException {
193193
final String targetName = "base.apk";
194194
final File targetFile = new File(mResolvedStageDir, targetName);
195195
if (!addedFile.equals(targetFile)) {
196-
addedFile.renameTo(targetFile);
196+
// addedFile.renameTo(targetFile);
197+
mResolvedStagedFiles.add(targetFile);
198+
} else {
199+
mResolvedBaseFile = targetFile;
197200
}
198-
mResolvedBaseFile = targetFile;
199-
mResolvedStagedFiles.add(targetFile);
200201
}
201202
}
202203
if (mResolvedBaseFile == null) {
@@ -380,6 +381,11 @@ public void close() throws RemoteException {
380381
}
381382
}
382383

384+
// https://cs.android.com/android/platform/superproject/+/android-11.0.0_r1:frameworks/base/core/java/android/content/pm/IPackageInstallerSession.aidl;l=39
385+
public void commit(IntentSender statusReceiver, boolean forTransferred) throws RemoteException {
386+
commit(statusReceiver);
387+
}
388+
383389
@Override
384390
public void commit(IntentSender statusReceiver) throws RemoteException {
385391
final boolean wasSealed;

VirtualApp/lib/src/main/java/com/lody/virtual/server/pm/installer/VPackageInstallerService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ private int createSessionInternal(SessionParams params, String installerPackageN
117117
sessionId = allocateSessionIdLocked();
118118
session = new PackageInstallerSession(mInternalCallback, mContext, mInstallHandler.getLooper(), installerPackageName, sessionId, userId, callingUid, params, VEnvironment.getPackageInstallerStageDir());
119119
}
120+
synchronized (mSessions) {
121+
mSessions.put(sessionId, session);
122+
}
120123
mCallbacks.notifySessionCreated(session.sessionId, session.userId);
121124
return sessionId;
122125
}

0 commit comments

Comments
 (0)