Обновленный apk не загружается из существующего приложения

После обновления платформы и плагинов до последней версии и более новой версии apk приложения не загружается и не устанавливается из существующего приложения (управление версиями). Существующая версия платформы приложения — Cordova 4.0.0, а последняя версия платформы apk — 5.1.1. Я следовал некоторым ответам в стеке, но не решил ни одного из них. Не знаю проблемы с плагином для передачи файлов или изменением платформы Cordova.

После отладки в adb получаю это

введите здесь описание изображения


person OhStack    schedule 18.07.2016    source источник
comment
@Naitik Ошибка не отображается   -  person OhStack    schedule 18.07.2016
comment
Версионирование приложения @Naitik не происходит после смены последней платформы (cordova 5.1.1) и последней версии плагинов.   -  person OhStack    schedule 18.07.2016
comment
@Homen Не в Google Play, используя сервер компании и то же хранилище ключей.   -  person OhStack    schedule 18.07.2016
comment
@OhStack, прежде всего, последняя версия Cordova — 6.2.0. Пожалуйста, обновите последнюю версию при использовании npm update -g cordova, если вы используете Apple Machien, используйте команду sudo npm update -g cordova, затем повторите попытку. Пожалуйста, возьмите копию последнего и работайте над этой копией, чтобы избежать конфликтов.   -  person Naitik    schedule 18.07.2016
comment
или попробуйте напрямую запустить на реальном устройстве, чтобы получить хороший результат...   -  person Naitik    schedule 18.07.2016
comment
@Naitik Для iOS проблема в том, что Android отлично работает, кстати, я пробовал в Cordova 6.2.0, у меня также есть несколько машин, но результат тот же. и работает на реальном устройстве   -  person OhStack    schedule 18.07.2016
comment
для Android подключите свое устройство Android к машине разработки и запустите службу adb, я думаю, вы знаете об этом. затем запустите команду fire cordova, запустите Android и проверьте устройство в chrome на chrome://inspect/#devices, вы получите вызывающе журнал о вашем устройстве, если приложение хотя бы запустится.   -  person Naitik    schedule 18.07.2016
comment
@Homen То, что я пытаюсь, что-нибудь еще?   -  person OhStack    schedule 18.07.2016
comment
@Homen Да увеличено   -  person OhStack    schedule 18.07.2016
comment
@Naitik Вопрос отредактирован, проверьте сейчас   -  person OhStack    schedule 18.07.2016
comment
@OhStack: несколько вопросов .. после обновления кордовы вы пытались удалить платформу и добавить снова? Вы пробовали удалить все плагины и добавить снова? потому что с вашими ошибками я могу сказать, что вы установили плагины, которые поддерживали Cordova 4.0.0, и вы обновили Cordova с 5.1.1 или 6.2.0, поэтому вам нужно обновить все свои плагины и снова удалить-добавить платформу и попробовать   -  person Naitik    schedule 18.07.2016
comment
Файл cordova.js находится в каталоге www, поэтому все, что вам нужно сделать, это включить этот файл — ‹script type=text/javascript src=cordova.js›‹/script›   -  person Naitik    schedule 18.07.2016
comment
@Naitik Я создал отдельный проект после обновления Cordova и добавил последние плагины, позже вставил в него папку www, скрипт cordova.js уже там   -  person OhStack    schedule 18.07.2016
comment
@OhStack Согласно вашей трассировке ошибок, похоже, что у вас нет файла jquery.js, включенного в ваш проект. Также эта ошибка, похоже, не связана с невозможностью загрузить последний apk.   -  person Gandhi    schedule 21.07.2016
comment
@ohStack делать в соответствии с файлом build.gradle, а не муравьем   -  person NGB    schedule 21.07.2016
comment
@Gandhi jquery.js включен, но проблема началась, когда изменилась версия платформы и версия плагинов, изначально все работало нормально. Я думаю, проблема с плагином для передачи файлов, потому что этот плагин используется для загрузки и загрузки apks.   -  person OhStack    schedule 21.07.2016
comment
@OhStack Не могли бы вы опубликовать свой проект в git, чтобы мы могли протестировать его на устройстве?   -  person Gandhi    schedule 21.07.2016
comment
@gandhi Я готов предоставить весь файл моего проекта, если вы готовы решить   -  person OhStack    schedule 21.07.2016
comment
@OhStack Пожалуйста, сделайте это. Попробую. Если не я, то хоть кто-то тоже может взломать   -  person Gandhi    schedule 21.07.2016
comment
@Gandhi Загруженный проект в Dropbox, пожалуйста, не используйте код неправильно, потому что это проект, защищенный авторским правом, пожалуйста, сделайте необходимое dropbox.com/s/odxfvnexcukxv23/IonTime.zip?dl=0   -  person OhStack    schedule 22.07.2016
comment
@Gandhi Ты получил файл?   -  person OhStack    schedule 22.07.2016
comment
@OhStack Привет, Dropbox заблокирован в моей офисной сети. надо скачать лично   -  person Gandhi    schedule 22.07.2016
comment
@OhStack Скачала. Теперь я пытаюсь сгенерировать из него apk без каких-либо ошибок?   -  person Gandhi    schedule 22.07.2016
comment
@OhStack установлен. На главном экране появились следующие оповещения - IDDeviceready -> app ver: 18 -> false. В соответствии с вашим кодом вы вызываете код обновления приложения, только если data.appVersion имеет значение true. Но это не вызывается, поскольку data.appVersion является ложным. В чем проблема?   -  person Gandhi    schedule 22.07.2016
comment
@Gandhi, который находится в файле build.gradle, добавляет 8 из этого файла, создает файл gradle.properties на платформе/Android и добавляет это содержимое в этот cdvBuildMultipleApks=false cdvVersionCode=1 cdvMinSdkVersion=14   -  person OhStack    schedule 26.07.2016
comment
@OhStack Я заменил ваш файл gradle.properties на платформе Android моего проекта. Позвольте мне проверить сейчас   -  person Gandhi    schedule 26.07.2016
comment
@OhStack я пробовал отлаживать, и ошибка связана с coolplugin. Он не работает в методе showToast index.js. Трассировка ошибки выглядит следующим образом: index.js: 148 Uncaught (в обещании) ReferenceError: showToast не определен (…) Вы также можете попробовать этот плагин для реализации всплывающих уведомлений — github.com/EddyVerbruggen/Toast-PhoneGap-Plugin   -  person Gandhi    schedule 26.07.2016
comment
@OhStack На самом деле, я также могу видеть файл IonTime.apk в папке загрузки устройства. Таким образом, загрузка происходит, но проблема заключается в подтверждении загрузки с помощью всплывающего сообщения. Надеюсь, поможет. Можете ли вы проверить это быстро, так как награда заканчивается завтра :(   -  person Gandhi    schedule 26.07.2016
comment
@Gandhi Вы имеете в виду, должен ли я удалить этот крутой плагин? Я могу напрямую использовать ваш плагин или что-то еще нужно сделать   -  person OhStack    schedule 26.07.2016
comment
@OhStack Если вы хотите сообщить пользователю об успешной загрузке, вы также можете использовать navigator.alert вместо любого плагина. Решение по бизнес-логике остается за вами. Но код не работает из-за coolplugin и того, как вы пытаетесь его вызвать.   -  person Gandhi    schedule 26.07.2016
comment
@Gandhi Вы только предлагаете мне и заставьте это работать, пожалуйста, или скажите мне, что я должен заменить, чтобы это заработало   -  person OhStack    schedule 26.07.2016
comment
@OhStack закомментируйте следующие строки в index.js - showToast(textValue);cordova.exec(function(result){ /*alert(OK + ответ);*/ }, function(result){ /*alert(Error + answer) );*/ },CoolPlugin,textValue,[]); Также добавьте следующую строку, чтобы уведомить пользователя: showNotification(Успешно загружена последняя версия APK, Загрузка выполнена успешно);   -  person Gandhi    schedule 26.07.2016
comment
@Gandhi просто показывает, что уведомление, но apk не загружается и не устанавливается еще в первой версии apk   -  person OhStack    schedule 26.07.2016
comment
@Gandhi, на сервере есть вторая версия apk, которую следует загрузить из существующего apk.   -  person OhStack    schedule 26.07.2016
comment
@OhStack Новая версия apk загружается в папку загрузки устройства. Я не вижу никакого кода для его установки. Вы должны написать логику для этого. Может быть, вы можете использовать плагин для открытия файлов, чтобы открыть apk, который инициирует установку, которая, очевидно, выходит за рамки этого вопроса.   -  person Gandhi    schedule 26.07.2016
comment
@Gandhi Да, последний apk загружен, как его установить или перезаписать существующим   -  person OhStack    schedule 26.07.2016
comment
@Gandhi изначально об этом позаботился coolPlugin, но теперь я удалил   -  person OhStack    schedule 26.07.2016
comment
@ Ганди, ты там, я собираюсь закончить это ....   -  person OhStack    schedule 26.07.2016
comment
@Gandhi У меня это работает, и я хочу знать, как вы это отлаживаете. пожалуйста, скажите мне   -  person OhStack    schedule 26.07.2016
comment
@OhStack Извините, меня не было на собрании. Вы можете использовать плагин для открытия файлов, как я сказал ранее, чтобы предложить пользователю установить его. Я отлаживал с помощью Google Chrome. Проверьте это — geeklearning.io/apache-cordova-and-remote -debugging-on-android Могу ли я опубликовать ответ?   -  person Gandhi    schedule 26.07.2016
comment
@NGB Привет, ты посмотрел ответ? Проблема решена. В ожидании награды :)   -  person Gandhi    schedule 26.07.2016
comment
@OhStack NGB случайно не твой коллега? Если да, попросите его проверить ответ   -  person Gandhi    schedule 26.07.2016
comment
@Gandhi Он мой старший   -  person OhStack    schedule 27.07.2016
comment
@NGB Надеюсь, ответ разрешил ваши проблемы.   -  person Gandhi    schedule 27.07.2016
comment
@Gandhi Ты получил награду?   -  person OhStack    schedule 27.07.2016
comment
@OhStack Нет, я этого не делал :( Пожалуйста, сделайте необходимое   -  person Gandhi    schedule 27.07.2016
comment
@OhStack Получил награду :) Чувствую мотивацию....   -  person Gandhi    schedule 27.07.2016
comment
@ Ганди, да, большое спасибо   -  person NGB    schedule 27.07.2016
comment
@NGB Спасибо и вам. Был хороший опыт обучения.   -  person Gandhi    schedule 27.07.2016


Ответы (1)


После установки отправленного вами приложения и его отладки на устройстве Android я могу предположить, что проблема связана с реализацией всплывающих уведомлений в коде. В index.js выдавалась следующая ошибка:

index.js:148 Uncaught (в обещании) ReferenceError: showToast не определен (…)

Я предлагаю вам исправить вызов классного плагина или использовать другую комбинацию плагинов, например плагин тоста и плагин для открытия файлов, чтобы отобразить сообщение о загрузке и вызвать установку APK.

Что касается отладки, вы можете отлаживать код, используя опцию проверки устройств Google Chrome. Дополнительную информацию можно найти по ссылке для отладки.

person Gandhi    schedule 26.07.2016