Merge pull request #10 from fashioncj/master

forceInstall & install remove
This commit is contained in:
Samuel Carlsson 2016-05-13 19:59:43 +02:00
commit a1af30a81a
2 changed files with 11 additions and 4 deletions

View File

@ -46,15 +46,22 @@ public class PackageManager {
if (!result.contains("Success")) throw new JadbException(getErrorMessage(operation, target, result)); if (!result.contains("Success")) throw new JadbException(getErrorMessage(operation, target, result));
} }
public void install(File apkFile) throws IOException, JadbException { public void install(File apkFile,boolean forceInstall) throws IOException, JadbException {
RemoteFile remote = new RemoteFile("/sdcard/tmp/" + apkFile.getName()); RemoteFile remote = new RemoteFile("/sdcard/tmp/" + apkFile.getName());
device.push(apkFile, remote); device.push(apkFile, remote);
InputStream s = device.executeShell("pm", "install", Bash.quote(remote.getPath())); InputStream s;
if(forceInstall){
s= device.executeShell("pm", "install", "-r", Bash.quote(remote.getPath()));
}else{
s= device.executeShell("pm", "install", Bash.quote(remote.getPath()));
}
String result = Stream.readAll(s, Charset.forName("UTF-8")); String result = Stream.readAll(s, Charset.forName("UTF-8"));
// TODO: Remove remote file s=device.executeShell("rm", "-f", Bash.quote(remote.getPath()));
Stream.readAll(s, Charset.forName("UTF-8"));
verifyOperation("install", apkFile.getName(), result); verifyOperation("install", apkFile.getName(), result);
} }
public void uninstall(Package name) throws IOException, JadbException { public void uninstall(Package name) throws IOException, JadbException {
InputStream s = device.executeShell("pm", "uninstall", name.toString()); InputStream s = device.executeShell("pm", "uninstall", name.toString());
String result = Stream.readAll(s, Charset.forName("UTF-8")); String result = Stream.readAll(s, Charset.forName("UTF-8"));

View File

@ -47,7 +47,7 @@ public class PackageMangerTests {
@Test @Test
public void testInstallUninstallCycle() throws Exception { public void testInstallUninstallCycle() throws Exception {
File f = new File("test/data/Tiniest Smallest APK ever_v' platformBuildVersionName=_apkpure.com.apk"); File f = new File("test/data/Tiniest Smallest APK ever_v' platformBuildVersionName=_apkpure.com.apk");
pm.install(f); pm.install(f, false);
pm.uninstall(new Package("b.a")); pm.uninstall(new Package("b.a"));
} }
} }