Я столкнулся со следующей проблемой на двух устройствах Samsung Galaxy S4:
При попытке установить более новую версию, щелкнув файл APK в сообщении электронной почты, все работает нормально. Если вы попытаетесь установить еще одну новую копию из нового APK поверх ранее установленного, это также сработает.
Но если установлена оригинальная версия из Google Play, и мы пытаемся установить APK из электронной почты, мы получаем сообщение, App not installed
и, очевидно, приложение не устанавливается...
просто для уточнения - обе версии написаны мной, обе подписаны и используют один и тот же идентификатор. и между ними есть основное изменение номера версии.
Как узнать, все ли будет хорошо, если я отправлю новую версию в Google Play?
Существует ли официальное ограничение, согласно которому источник установки должен быть одинаковым для обновления?
Есть ли способ обойти этот лимит?
ОБНОВЛЯТЬ:
Я последовал совету, данному @GiantTree в этом комментарии.
Я установил эмулятор терминала и выполнил его pm install -r mypackage.apk
, что дало что-то вроде 60 строк try again in 1second
(отсутствует место в исходном сообщении), затем он сказал дважды failed to connect to dumpstate service
и, наконец killed
, .
Выполняя, logcat >log.txt
я нашел строку: `java.lang.SecurityException:
Neither user 10210 nor current process has android.permission.INSTALL_PACKAGES.
ОБНОВЛЕНИЕ 2:
при более тщательном изучении файла журнала я нашел эту строку:
D/InstallAppProgress(8973): Код ошибки установки: -25
но я не могу найти, что означает этот код ошибки...
Все еще жду дальнейших предложений...
Эта ошибка часто возникает, когда вы пытаетесь установить более старую версию поверх уже установленной более новой версии того же приложения. Если это действительно то, что вы собираетесь сделать, вам, возможно, придется сначала удалить, а затем переустановить рассматриваемое приложение. Чтобы не потерять его данные, вы можете попробовать удалить его через adb uninstall -k <package>
: это удалит приложение, но сохранит ( -k
) его данные.
Для получения дополнительной информации вы также можете увидеть:
Ни для чего нет предела. Пока имя пакета и используемая подпись остаются прежними, это считается одним и тем же приложением. Попробуйте установить через adb:adb install -r <apk>
pm install -r <apk>
на своем телефоне; это то, что делает и adb.Даже если версия новее, я не смог установить пользовательское загруженное приложение поверх того же приложения, но версии Google Play. Я испытал это несколько раз с различными приложениями во время тестирования.
Мне пришлось удалить версию Google Play, и только после этого мне разрешили установить загруженное приложение. На самом деле установка приложения будет продолжаться до самого конца, когда установщик выдаст ошибку.
Иззи
эпелег
Иззи
эпелег