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:
Todd Kennedy
2016-09-22 13:25:46 -07:00
parent c547eeda12
commit d220683d33

View File

@@ -1146,14 +1146,15 @@ class PackageManagerShellCommand extends ShellCommand {
private int doWriteSplit(int sessionId, String inPath, long sizeBytes, String splitName,
boolean logSuccess) throws RemoteException {
final PrintWriter pw = getOutPrintWriter();
if ("-".equals(inPath)) {
inPath = null;
} else if (inPath != null) {
final File file = new File(inPath);
if (file.isFile()) {
sizeBytes = file.length();
}
if (sizeBytes <= 0) {
pw.println("Error: must specify a APK size");
return 1;
}
if (inPath != null && !"-".equals(inPath)) {
pw.println("Error: APK content must be streamed");
return 1;
}
inPath = null;
final SessionInfo info = mInterface.getPackageInstaller().getSessionInfo(sessionId);