Я не знаю, была ли уже тема по этому конкретному вопросу, но если да, то простите меня. Я хотел бы знать, как я могу увидеть дату, когда я установил и удалил определенное приложение некоторое время назад (при условии, что я удалил его из истории Google Play, поэтому я не могу пойти по этому пути). Я проводил некоторые исследования, и logcat появляется везде, но я не понимаю, как он может решить мою проблему. Заранее спасибо за вашу помощь.
Logcat здесь не очень поможет, так как он действует ограниченное время (он использует кольцевой буфер с фиксированным размером, поэтому старые записи перезаписываются новыми). Вместо этого лучше сосредоточьтесь на менеджере пакетов:
adb shell "pm list packages -u -3"
дает вам список всех приложений , которые вы установили ( -3
ограничивает его приложениями, которые не были предварительно установлены — по сути, это означает «сторонние»), включая те, которые вы уже удалили ( -u
). Возвращаемый список выглядит следующим образом:
package:com.ceco.gm2.gravitybox
package:com.mohammadag.xposedpreferenceinjector
Это все еще не дает вам деталей, которые вы хотели, поэтому давайте приведем некоторую помощь из ответа Firelord здесь :
Во-первых, нам нужно вырезать ведущий package:
, поэтому мы изменим нашу команду на pm list packages -u -3 | awk -F: '{print $NF}'
:
com.ceco.gm2.gravitybox
com.mohammadag.xposedpreferenceinjector
Уже лучше. Теперь Firelord начинает упоминать dumpsys
команду для деталей, которые мы интегрируем в то, что у нас есть:
for pkg in $(pm list packages -u -3 | awk -F: '{print $NF}'); do
dumpsys package $pkg
done
Это должно дать вам полную информацию о каждом приложении, включая дату их установки ( firstInstallTime
), последнее обновление ( lastUpdateTime
) и, надеюсь, также время удаления — к сожалению, на устройстве, которое я тестировал прямо сейчас, удаленные приложения не появлялись. несмотря на -u
параметр, который может быть проблемой конкретного устройства (поскольку в pm
документации это четко описано).
Чтобы дать вам то же самое, что и однострочный код, который также должен работать в Windows:
adb shell "for pkg in \$(pm list packages -u -3 | awk -F: '{print \$NF}'); do dumpsys package \$pkg; done"
-u
не pm
принесло мне ничего хорошего.Вы можете использовать эту команду в Linux:
adb shell logcat | grep install
для установки приложения см. в logcat
adb shell logcat | grep uninstall
для удаления приложения см. logcat
В противном случае в Windows вы можете использовать Cygwin. Вы можете скачать отсюда
adb shell "logcat | grep install"
. Обратите внимание на кавычки: это говорит о том adb shell
, что нужно запустить все это на Android, где он находит logcat
команду, а также grep
. Но дело в том, что ограниченное использование. Таким образом, вы можете увидеть, что произошло за последние несколько минут, но уж точно не пару дней назад.adb shell "logcat -v time | grep -i uninstall"
. Обратите внимание на -i
нечувствительный к регистру grep (в журнале он указан как «Удалить»), а также -v time
параметр (OP хотел увидеть , когда это произошло, а не только то, что это произошло :)
Повелитель огня