Force APKs to be streamed
When using the new "cmd" command, APKs must be streamed instead of specifying a file. Change-Id: I977cd817ac545d7c5293f53b9fa4b155bea7449e Fixes: 31251489 Test: manually installed packages using 'adb install', 'adb shell cmd package install' and 'adb shell pm install'
This commit is contained in:
@@ -1147,14 +1147,15 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
private int doWriteSplit(int sessionId, String inPath, long sizeBytes, String splitName,
|
private int doWriteSplit(int sessionId, String inPath, long sizeBytes, String splitName,
|
||||||
boolean logSuccess) throws RemoteException {
|
boolean logSuccess) throws RemoteException {
|
||||||
final PrintWriter pw = getOutPrintWriter();
|
final PrintWriter pw = getOutPrintWriter();
|
||||||
if ("-".equals(inPath)) {
|
if (sizeBytes <= 0) {
|
||||||
inPath = null;
|
pw.println("Error: must specify a APK size");
|
||||||
} else if (inPath != null) {
|
return 1;
|
||||||
final File file = new File(inPath);
|
|
||||||
if (file.isFile()) {
|
|
||||||
sizeBytes = file.length();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
if (inPath != null && !"-".equals(inPath)) {
|
||||||
|
pw.println("Error: APK content must be streamed");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
inPath = null;
|
||||||
|
|
||||||
final SessionInfo info = mInterface.getPackageInstaller().getSessionInfo(sessionId);
|
final SessionInfo info = mInterface.getPackageInstaller().getSessionInfo(sessionId);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user