Недавно я получил Huawei P30 и использовал adb для удаления некоторых предустановленных приложений, которые я не хотел использовать. Я зашел слишком далеко и удалил приложение системной галереи ( com.android.gallery3d
), которое оказалось проблематичным для многих вещей, таких как открытие сделанных снимков непосредственно из приложения камеры.
Я попытался переустановить его, но столкнулся с несколькими проблемами:
/system/priv-app/Gallery2
, я получаю сообщение INSTALL_PARSE_FAILED_NO_CERTIFICATES
об ошибке. Полная ошибка:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl30820468.tmp/base.apk: /data/app/vmdl30820468.tmp/base.apk: File res/drawable-xxxhdpi-v4/img_patten_7.jpg in manifest does not exist]
INSTALL_FAILED_VERSION_DOWNGRADE
странное сообщение, поскольку приложение должно быть удалено. Он не отображается в pm list packages
, однако запуск dumpsys package com.android.gallery3d
дает результат, и версия действительно более поздняя, чем та, которую я пытаюсь установить (9.1.1.309 против 9.0.15.355). Использование -d
флага при установке не помогает, так как это не приложение для отладки. Я не мог найти более свежую версию в Интернете.Есть ли способ переустановить это приложение без сброса настроек? В качестве альтернативы, есть ли способ установить другую версию? Похоже, com.android.gallery3d
это общее имя пакета, я был бы не против иметь «стандартный» Android.
Решение можно найти в вопросе Переустановить системное приложение, которое удалено для текущего пользователя? (что осталось без ответа):
adb shell cmd package install-existing com.android.gallery3d
Обратите внимание, что это не работает в Android 5 (отсюда и другой вопрос), так как команда cmd
была добавлена только позже (я точно не помню, когда, но она доступна по крайней мере в Android 7).
Иззи
/system/priv-app/*
, приложение не удаляется. Вы уверены, что не просто отключили его? Какую команду вы использовали для удаления через ADB?Юкуррпа
adb uninstall -k --user 0 com.android.gallery3d
. Попытка запустить его снова приводит кnot installed for 0
ошибке (с флагом или без-k
). Не указание пользователя тоже выдает ошибку,DELETE_FAILED_INTERNAL_ERROR
Иззи
adb shell "pm install -r <package.apk>" (replacing
<package.apk>` по пути к установленному файлу APK) или, если он у вас есть на вашем ПК,adb install -r <APKfile>
? Важная вещь-r
(переустановите, даже если она есть).Юкуррпа
-r
не помогает, одинаковые проблемы с обоими способами (apk, оставленный на устройстве, и тот, который я скачал)Иззи
--user 0
и здесь? Тогда он не сможет ни заявить о неправильной версии, ни о том, что она уже существует. Если это тоже не сработает, попробуйтеpm default-state app.name
(взято из этого сообщения XDA ). У меня никогда не было такой ситуации.Юкуррпа
--user 0
при установке не помогло. Я добавил полную ошибку к вопросу при попытке с приложением на телефоне, поскольку это, похоже, связано не с текущим состоянием приложения, а с самим apk.pm defaul-state
говоритPackage com.android.gallery3d new state: default
, но, похоже, не имеет никакого эффекта (приложение по-прежнему нигде не видно, даже после перезагрузки телефона)Повелитель огня
/system/priv-app/Gallery2
где-то находится, и поделиться с нами ссылкой? Я хочу попробовать, может ли это быть проблемой с APK.Юкуррпа
INSTALL_PARSE_FAILED_NO_CERTIFICATES
потому что файл отсутствует вres/drawables...
). Я также попытался изменить загруженный код версии, используяapktool
и подписав его самостоятельно, но мне отказали, поскольку подпись не совпадает с «существующей» версией.Иззи
Юкуррпа
adb shell cmd package install-existing com.android.gallery3d
сработало! Я не знал об этой команде. Не могли бы вы опубликовать это как ответ, чтобы я мог его принять?Иззи