менеджер пакетов Android не может работать с ICS

1

До 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", он работает, поэтому он делает меня сумасшедшим.

любая помощь или намек будут оценены.

  • 0
    Это не публичный интерфейс. Используйте Intent, если хотите начать процесс удаления пакета. Это требование к дизайну Android, когда пользователь должен подтвердить удаление.
Теги:
adb

2 ответа

1
Лучший ответ

Попробуйте этот код

  toProcess.writeBytes("export LD_LIBRARY_PATH=/vendor/lib:/system/lib" + "\n"); 
  toProcess.writeBytes("exec " + "shell pm uninstall me.onemobile.android" + "\n"); 
  toProcess.flush(); 
0

У меня такая же проблема в android 4.0.3. после запуска 'adb su', 'pm' всегда возвращает [1] + Stopped (сигнал). Кажется, это связано с привилегией.

  • 0
    Я решил, попробуйте добавить это до вечера: "LD_LIBRARY_PATH = / vendor / lib: / system / lib

Ещё вопросы

Сообщество Overcoder
Наверх
Меню