До 4.0, он работает нормально, но после 4.0 я не могу запустить его, как "pm uninstall com.abc"
мой код:
try {
// Executes the command.
Process process = Runtime.getRuntime().exec("pm uninstall me.onemobile.android");
DataOutputStream toProcess = new DataOutputStream(process.getOutputStream());
toProcess.writeBytes("exec " + "shell pm uninstall me.onemobile.android" + "\n");
toProcess.flush();
} catch (IOException e) {
System.out.println(e.getMessage());
throw new RuntimeException(e);
}
когда я запускаю его, он выглядит следующим образом:
[1] + Stopped (signal)
Там какая-то разница, когда я запускаю "pm uninstall com.test" в корне, и он просто показывает
[1] + Stopped (signal)
но при запуске "adb shell pm uninstall com.test", он работает, поэтому он делает меня сумасшедшим.
любая помощь или намек будут оценены.
Попробуйте этот код
toProcess.writeBytes("export LD_LIBRARY_PATH=/vendor/lib:/system/lib" + "\n");
toProcess.writeBytes("exec " + "shell pm uninstall me.onemobile.android" + "\n");
toProcess.flush();
У меня такая же проблема в android 4.0.3. после запуска 'adb su', 'pm' всегда возвращает [1] + Stopped (сигнал). Кажется, это связано с привилегией.