Ответ 1
Проблема в том, что вы пытаетесь установить версию своего APK, которая меньше, чем на вашем устройстве.
Деинсталляция, безусловно, устранит эту проблему для вас.
ADB обеспечивает большую гибкость adb install -r -d <apk path>
, но я не уверен, что Phonegap имеет эту функциональность.
adb install [-lrtsdg] <file>
- push this package file to the device and install it
(-l: forward lock application)
(-r: replace existing application)
(-t: allow test packages)
(-s: install application on sdcard)
(-d: allow version code downgrade)
(-g: grant all runtime permissions)
Update:
Оказывается, это было неправильное сообщение об ошибке для понижения версии приложения. Infact, это нечто совершенно отдельное. я нашел эту ссылку, которая точно объясняет ситуацию:
tl; dr Вы не можете обмануть новую модель разрешений Android 6, сначала публикация APK с targetSdk 23, который предоставит все разрешения а затем опубликовать новую версию с targetSdk 22 или меньше. Вы получите сообщение об ошибке INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE.
Я работал над приложением с targetSdk 23 (Android 6 Marshmallow), когда он ударил меня, что это может быть проблема безопасности с новым Модель разрешения Android. Устройства Android 6 одобряют все разрешения на время установки, а затем пользователь должен их одобрять всякий раз, когда приложение запрашивает разрешение. Что делать, если пользователь установил приложение - auto предоставляя все разрешения - и затем он не просил их использовать, и затем после этого приложение было обновлено с теми же разрешениями, но с более низким targetSdk?
Я потратил пару минут на создание приложения, которое предназначалось для SDK уровня 23 и добавлено разрешение на точное местоположение (ACCESS_FINE_LOCATION). Затем я установил и запустил приложение. Приложение не запрашивало разрешения на доступ менеджер местоположения. Затем я установил уровень SDK на 22 и попытался установите приложение. К счастью, он не смог установить. Я получил ошибку говоря "Неудача" [INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE].