Cordova приложение не установлено
Множество пользователей устройств на базе Андроид сталкиваются с одной распространенной проблемой – «приложение не установлено». Эта ошибка может внезапно появиться после процесса установки того или иного приложения на андроид смартфоне или планшете.
Причины возникновения ошибки
Частыми причинами возникновения этой ошибки являются: наличие мусора, забитая ОЗУ, вирусы, повреждение apk-файлов или запрет на установку из неизвестных источников на Андроид. Ниже рассмотрим подходящие способы решения данных проблемы.
Забитая внутренняя память устройства
Часто много некогда установленных на андроид телефон приложений и игр со временем перестают использоваться. Пользователи забывают удалять приложения, которые все ещё продолжают загружать обновления, тем самым занимая много места в хранилище (если не отключено автообновление устройства).
Чтобы удалить редко используемые приложения, необходимо перейти в настройки, далее – в «Приложения». В открывшемся списке нужно отыскать ненужное андроид приложение и удалить его. Также рекомендуется производить очистку данных и кэша, чтобы полностью очистить телефон от следов удаленного сервиса.
Что касается системных приложений на Андроид – их можно удалить с подключением root-прав (однако использование утилит для получения root-прав может навредить ОС и работоспособности гаджета).
По умолчанию на устройствах Андроид происходит загрузка приложений во внутреннее хранилище. Чтобы освободить его, следует устанавливать программы и игры на SD-карту. Для этого измените путь установки в общих параметрах девайса. В разделе «Хранилище» нужно открыть настройки и выбрать соответствующий пункт.
Большое количество мусора
Все андроид приложения так или иначе оставляют на устройстве свои папки и файлы, которые постепенно забивают память. Излишнее скопление подобного мусора приводит к возникновению разных сбоев в работе девайса, поэтому необходимо периодически очищать ОС от ненужных файлов.
Для этого можно использовать утилиту для Андроид «Clean Master». Нажатие на значок урны запускает немедленное сканирование телефона или планшета на наличие мусора, далее все это удаляется, немного освобождая ОЗУ. Помимо этой функции, утилита позволяет удалять ненужные приложения из оперативной памяти на Андроид.
Запрет на установку из неизвестных источников
Данная ошибка также может возникать из-за стандартных параметров системы, которая ограничивает установку программ на Андроид из неизвестных источников интернета.
Чтобы отключить это, необходимо зайти в раздел «Безопасность» и поставить галочку напротив пункта «разрешить установку из неизвестных источников».
Вирусы
Вирусы – частая причина возникновения сбоя (например, ОС пишет синтаксическая ошибка, ошибка 11, ошибка 504). Для проверки устройства xiaomi на вредоносные файлы используются антивирусы: Dr. Web, Kaspersky, McAfee. При наличии подобных программ пользователь будет получать уведомления, которые помогут избавиться от занесения вирусов на Андроид.
Конфликты приложений
Некоторые программы могут конфликтовать между собой, мешая установке друг друга. Часто это похожие утилиты, антивирусы или диспетчеры файлов. Выберите подходящее приложение и установите одно.
Повреждённое приложение
При скачивании программ на Андроид с посторонних ресурсов (не Play Market) может возникнуть риск того, что apk-файл поврежден. Это тоже приводит к вышеупомянутой ошибке. Для решения необходимо скачать нужное приложение через Play Market или другой надежный источник.
Сброс телефона к заводским настройкам
Если ни один из пунктов не помог решить ошибку приложение не установлено или приложение установлено, но не отображается, необходимо воспользоваться функцией сброса андроид устройства до заводских настроек.
В настройках откройте «Восстановление и сброс», далее – «Сброс настроек». Произойдет полное удаление всех данных с устройства и перезагрузка ОС.
я начинаю разрабатывать и android-приложение с помощью Cordova 5.0.0 (cordova-v печатает 5.0.0) и тестировать его на Moto Razr D1 с Android 4.1.2. Под Windows 7, кстати.
и ручное копирование платформ / android / build / output / apk / android-degug.apk на SD и установка работает нормально.
отлично работает на эмуляторе с версией android >4.1.2
успешно строит, говорит с помощью apk платформы / android / сборка / вывод / apk / android-отладчик.АПК, который, кажется, хорошо, установка приложения, запуск и запуск успеха. однако как вы можете видеть на скриншоте
это "обои / управление / настройки" происходит, и все.
если я выполните команду:
на эмуляторе с Android 4.1.2 Jelly, равный выход
тот же" WALLPAPAER/управление/настройки", вот еще один скриншот Скриншот Эмулятор
есть идеи, как решить эту проблему? Спасибо заранее.
PS: Если я установил apk ранее, Razr запустит старую версию, а не обои/управление/настройки. Поэтому я должен удалить его, прежде чем пытаться запустить команды запуска cordova.
я столкнулся с той же проблемой (Cordova "hello world" приложение не будет отображаться) и нашел способ пройти через него (но я не очень понимаю причины).
проблема, казалось, возникла при установке apk. На Cordova 5.0.0 команды adb для установки apk можно найти в строке 101 файловых платформ\android\cordova\lib\device.js (и в строке 311 платформ\android\cordova\lib\emulator.js для эмуляции cordova android):
adb -s ' + resolvedTarget.target + ' install -r -d "' + apk_path + '"
текущая команда возвращает мне: "ошибка: неизвестный параметр-d"!
если вы просто удалите опцию "- d", приложения работают нормально с cordova run android.
на -d должен прийти сразу после adb (например, --device ), а не после установки. Так что вы можете просто переместить его туда вместо того, чтобы удалять.
вот несколько вещей, чтобы проверить и быть в курсе, в случае если вы не знали:
- ваша версия CLI cordova -v не обязательно будет соответствовать версии платформы cordova platform
- ваши версии платформы между различными платформами (если они у вас есть) могут не совпадать. Например, Android может иметь другую версию платформы, чем iOS.
Я не уверен, что SD, но я установил свои приложения через
после сравнения и проверки загруженного apk на ваше устройство, которое, я считаю, легче отлаживать, чем эмулятор, запустите Мост Отладки Android С logcat:
если вы предпочитаете отладку с logcat через эмулятор, затем:
надеюсь, при подключении и запуске logcat вы сможете поймать, какие ошибки могут произойти, чтобы вызвать ваши вопрос.
в общем, вот шаги из приведенной выше ссылки:
требования: Chrome 32 или более поздней версии, USB-кабель для подключения к Android-устройству, отладка браузера требует Android 4.0+, отладка приложения требует Android 4.4+
- включить отладку USB на устройство: Настройки > Параметры разработчика. Если у вас есть Android 4.2+ устройство, Параметры разработчика по умолчанию скрыто. Нажмите на Настройки > О телефоне и нажмите номер сборки семь раз.
- в разделе "Параметры разработчика" выберите Отладка USB.
- клик OK чтобы подтвердить, что вы включаете отладку USB.
- подключите устройство к компьютеру с помощью USB кабель.
- откройте браузер Chrome и в строке поиска/адреса введите chrome: / / inspect.
- установите флажок Откройте для себя USB-устройства.
- на устройстве появится предупреждение. Нажмите OK.
- на chrome: / / inspect страница теперь должна отображать подключенное устройство. Нажмите на ссылку "проверить" устройства. Инструменты разработчика Chrome должны появиться.
в ссылке удаленной отладки выше есть дополнительная информация о прямом показе, настройке прокси-сервера, переадресации портов и сопоставлении виртуальных хостов.
для тех, кто использует Кордова 6.1.1 и имея аналогичную проблему не открытия / установки приложения, то, что сработало для меня, было запустить ionic emulate android один раз, чтобы открыть эмулятор android с домашним экраном. Затем в другом окне терминала запустите снова ionic emulate android который установил приложение на уже открытый эмулятор, и все работало нормально.
решение: edit эмулятор.js под платформы\android\cordova\lib
перейдите к строке 311 и прокомментируйте строку
и вставить новую строку
для меня этот трюк отлично сработал, удалив-d
но мне пришлось установить APK manullay в первый раз, перейдя на телефон, а затем я смог запустить приложение непосредственно с помощью ionic run android
надеюсь, это поможет кому-то
изменение кода в устройство.JS и эмулятор.js не работал для меня (и фактически ввел ошибку, где cordova build android не будет работать больше). Моя проблема была совершенно другой: у меня было два <application> s в моем AndroidManifest.xml, который, по-видимому, не разрешен.
где-то вдоль линии я добавил <application android:debuggable="true" /> к моему AndroidManifest.XML. Однако этот файл уже имел элемент "application", который выглядел как это:
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
поэтому я добавил строку "debuggable" к существующему <application> (и удалил второй <application> ) вот так:
<application android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
после этого я перестроил с помощью cordova build android , успешно запустил его на моем устройстве с cordova run android , а затем хлопнул в ладоши и напугал мою собаку.
однако, даже если это не ваша проблема, вот как я обнаружил проблему: я следовал инструкциям в ответе жожо и побежал adb logcat С моей устройство подключено. Эта вкладка терминала немедленно заполнилась бесконечным дерьмом.
затем я открыл новое окно терминала, которое я мог просматривать в то же время, я принял к сведению последнюю метку времени в выходе logcat, и я побежал cordova run android . Экран снова наполнился дерьмом, а потом, когда все успокоилось, я прокрутил его до начала и просмотрел строчку за строчкой. В конце концов я нашел виновника:--13-->
Распространение мобильных устройств в наше время достигло невероятных значений. Мобильный телефон есть у 2 из каждых 3 человек на планете. С помощью мобильных люди общаются, делают покупки, получают образование, играют. Это огромный рынок, который нельзя оставлять без внимания.
Однако чтобы разрабатывать приложения для мобильных платформ, нужно владеть определенным языком программирования. Swift – для iOS, Java или Kotlin – для Android. Или JavaScript – для iOS, Android и ряда других ОС!
Да-да, JavaScript везде, и на мобильных в том числе. На данный момент есть несколько известных и проверенных фреймворков для создания кроссплатформенных мобильных приложений на этом языке, например, React Native и Apache Cordova, а также основанные на ней проекты.
Для разработки на React Native требуется знание библиотеки React и основных паттернов работы с ней. Cordova же может взять обычное веб-приложение и обернуть его нужным кодом так, чтобы оно работало на мобильных ОС. Такие "гибридные" приложения не могут похвастаться высокой нативной производительностью, однако очень просты в разработке.
Cordova отлично подходит для создания простых проектов без сложной графики. Сейчас мы как раз разработаем один из них – классическое Todo App для Android на JavaScript.
Так как мы пишем приложение для Android, нам понадобится JDK (Java Development Kit) и Android SDK – среда разработки для приложений Android. А также собственно Cordova.
Установочник для нужной платформы можно найти на сайте Oracle. Выбирайте версию не выше JDK 8, с более новыми Cordova не будет работать.
Запомните, куда установился пакет, и сохраните этот путь в переменной окружения JAVA_HOME .
А также добавьте его в переменную PATH .
Android Studio
Для разработки под Android также потребуется установить Android Studio.
После установки зайдите в программу и откройте меню SDK Manager (при открытом проекте Tools -> SDK Manager).
Здесь вы найдете путь к Android SDK (Android SDK Location), сохраните его в переменную окружения ANDROID_SDK_ROOT .
Добавьте в переменную PATH каталоги tools и platform-tools :
Затем убедитесь, что установлен пакет Android SDK Build-Tools (во вкладке SDK Tools).
Создание эмулятора
Наконец, создадим эмулятор, на котором можно будет запускать приложение в процессе разработки.
Для этого зайдите в меню AVD Manager:
И создайте эмулятор с нужными параметрами.
Cordova
Осталось глобально установить npm-пакет Cordova:
Подготовительные работы закончены, пора приступать к самому интересному.
Вероятно, самый интересный вопрос – как запустить обычную веб-страницу на устройстве Android. Чтобы ответить на него, создадим пустой проект Cordova и разберемся на практике.
Создание пустого проекта
Команда для создания нового проекта Cordova:
- Первый аргумент – todo-app – это название новой папки, которую Cordova создаст в текущем каталоге.
- Второй аргумент – com.furrycat.todo – это идентификатор проекта.
- Третий аргумент – TodoApp – имя приложения.
Появилась новая папка todo-app . Перейдите в нее и запускайте все дальнейшие команды уже внутри этой директории.
Внутри находится файл config.xml , которые содержит все мета-данные, а также папка www – именно в ней и расположен код веб-приложения. Сейчас это простейшая страница – index.html – с логотипом Cordova и парой надписей, к ней подключен файл стилей и скрипт. Вы можете открыть эту страницу в браузере:
Заглянем в файл js/index.js . Здесь очень простой код: установлен слушатель события deviceready , его обработчик просто добавляет класс .ready к одному из html-элементов.
deviceready – это событие, которое вызывает сама Cordova. Нетрудно догадаться, что оно возникает после того, как устройство, на котором запущено приложение будет готово его воспроизводить. Так как мы запустили проект в обход Cordova, это событие не возникает, поэтому надпись Connecting to device не исчезает.
Добавление платформы
Укажем целевые платформы для проекта – у нас это только Android:
Сборка проекта
Команда для сборки проекта для Android-платформы:
В папке platforms/android/app появилась новая директория build . Внутри нее есть файл outputs/apk/app-debug.apk . По сути это уже рабочий apk, который можно запустить на Android-устройстве.
Загрузите его на смартфон, запустите – и вы увидите ту самую дефолтную веб-страницу. Все работает!
Как видно, надпись connecting to device сменилась на device is ready. Это значит, что кордова вызвала событие deviceready , а приложение отреагировало на нее.
Запуск на эмуляторе или устройстве
Нет необходимости вручную копировать apk на устройство при каждом изменение приложения.
Чтобы запустить проект на смартфоне, подключите его к компьютеру, разрешите отладку и запустите команду:
Кордова сама соберет проект, обнаружит устройство и запустит приложение
Можно обойтись и без реального устройства.
Запустите созданный ранее эмулятор в Android Studio:
и снова выполните команду:
На этот раз кордова найдет эмулятор и запустит проект на нем:
Теперь мы умеем запускать обычную веб-страницу как приложение на Android-устройстве.
Теперь заменим дефолтную страницу Cordova на собственное крутое Todo-приложение.
Это очень простое веб-приложение, написанное с использованием фреймворка Vue. Его исходный код находится в корне проекта в новой папке src . Сборка осуществляется с помощью webpack, собранные файлы помещаются непосредственно в папку www .
Есть возможность добавлять, редактировать, удалять дела, а также отмечать их сделанными. Чтобы при перезагрузке список дел не пропадал, все сохраняется в localStorage .
Откройте приложение в эмуляторе или на подключенном устройстве и убедитесь, что все работает:
Отладка
Запущенное на эмуляторе или реально устройстве приложение Cordova можно отлаживать через браузер Chrome.
До сих пор наше приложение использовало только функциональность веб-платформы. Однако Cordova предоставляет доступ и к возможностям мобильного устройства – через многочисленные плагины.
Для примера реализуем нативные диалоговые окна и оповещения.
Диалоговые окна
Добавим подтверждение действия при удалении задачи – модальное окно с кнопками Отменить и Удалить. В вебе мы можем использовать для этого стандартное модальное окно confirm , но его нельзя кастомизировать. Поэтому мы должны получить доступ к нативным диалоговым окнам Android.
Теперь в коде приложения нам доступ объект navigator.notification с четырьмя методами:
- navigator.notification.alert
- navigator.notification.confirm
- navigator.notification.prompt
- navigator.notification.beep
Нам нужен метод confirm :
Напоминания о делах
Еще одна очень полезная функциональность – напоминание о делах в установленное время.
Для начала добавим возможность выбрать дату и время – нам понадобится плагин skwas-cordova-plugin-datetimepicker.
Использование в коде:
А для планирования оповещений понадобится плагин cordova-plugin-local-notification.
Использование в коде проекта:
Чтобы запланировать оповещение на определенное время, используется параметр trigger.at .
Публикация проекта в Google Play
Приложение готово, осталось только собрать его для продакшена.
В директории platforms/android/app/build/outputs/apk должна появиться новая папка release, внутри которой вы найдете неподписанный apk-файл.
Чтобы выложить проект в Google Play, его нужно подписать.
Для этого нужно сгенерировать ключ:
Имя ключа – todoapp.keystore , алиас – todoapp . При создании вам нужно будет ввести пароль и ответить на ряд вопросов (или пропустить их). В результате в текущей директории появится новый файл todoapp.keystore – не потеряйте его.
Теперь скомпилируем проект с ключом:
Важно указать правильное имя ключа и алиас.
Осталось запаковать проект в новый apk. Для этого понадобится утилита zipalign (она находится в папке build-tools в Android SDK):
Этот apk-файл можно добавлять в Google Play через ваш аккаунт разработчика.
Total time: 3.177 secs Built the following apk(s): /var/www/tmp/test-app/platforms/android/build/outputs/apk/android-release-unsigned.apk Using apk: /var/www/tmp/test-app/platforms/android/build/outputs/apk/android-release-unsigned.apk Installing app on device. Launching application. LAUNCH SUCCESS
, который, однако, на самом деле не устанавливает APK на устройство.
Я попытался установить готовый встроенный файл APK с помощью
adb install -r /var/www/tmp/test-app/platforms/android/build/outputs/apk/android-release-unsigned.apk
и это сработало.
Я попытался загрузить APK с веб-сервера и установить его локально на устройство, и это также сработало, поэтому я предполагаю, что сам APK в порядке и устройство распознано.
Когда APK уже установлен на устройстве, команда
cordova run --device
производит тот же вывод в консоли, плюс он запускает приложение на устройстве, но не устанавливает новую версию, которую он только что построил.
мое устройство android-это HTC Desire 500 под управлением Android 4.1.2, в то время как мое Android SDK использует API 22 ( Android 5.1.1 ) может ли это быть проблемой ?
Последнее примечание: у меня есть настройка на отдельной машине с использованием cordova 4.1.2 setup с Android SDK API 19, и она хорошо строит проект и на самом деле DO устанавливает приложение.
Я был бы признателен Вам за Ваш вклад в то, что может вызвать это странное поведение.
3 ответа
Хорошо, в прошлом я создавал и запускал различные приложения Cordova, но за последние 2 недели у меня все больше и больше проблем с установкой любого приложения на мое устройство. У меня есть телефон LGE975 (LG Optimus G), и на нем уже установлено 534 приложения. Иногда, если я просто попробую это.
Мое устройство работает под управлением android Lollipop 5.1 с включенными опциями разработчиков и проверенной опцией отладки USB. Когда я нажимаю кнопку RUN на Android Studio, она показывает следующее в журнале событий: Target device: qmobile-lt500-D5180B1R63091071 Installing APK.
Похоже, это ошибка в Cordova 5.0.0, у меня была та же проблема, и ответ proprit в этой теме решил ее для меня:
На Cordova 5.0.0 команды adb для установки apk можно найти в строке 101 файла platforms\android\cordova\lib\device.js (и в строке 311 из platforms\android\cordova\lib\emulator.js для cordova эмулировать android):
adb -s ' + resolvedTarget.target + ' install -r -d "' + apk_path + '"
Текущая команда возвращает мне: опция "Error: unknown option -d"! If you simply delete the "-d", приложения работают нормально с cordova run android.
А затем вы можете найти свое приложение в телефоне и запустить его ;D
работает для последней версии на эту дату.
Похожие вопросы:
Везде, где я смотрю, я нахожу этот метод getBondedDevices() для моего адаптера bluetooth. Тем не менее, у меня есть планшет и еще одно устройство bluetooth, сидящее рядом со мной, и я не могу.
Я создал приложение android wear и загрузил его в play store. При установке в телефон он не устанавливает приложение wear автоматически на подключенное устройство android(в данном случае moto 360).Я.
Я пытаюсь запустить приложение cordova на своем телефоне Android, используя команду 'cordova run'. Каждый раз, когда я запускаю это с подключенным к компьютеру телефоном, я получаю следующую ошибку.
Хорошо, в прошлом я создавал и запускал различные приложения Cordova, но за последние 2 недели у меня все больше и больше проблем с установкой любого приложения на мое устройство. У меня есть.
Мое устройство работает под управлением android Lollipop 5.1 с включенными опциями разработчиков и проверенной опцией отладки USB. Когда я нажимаю кнопку RUN на Android Studio, она показывает.
Я разрабатываю приложение с Cordova + Webassembly. Клиенту нужно, чтобы приложение работало на Windows и Android. Я использую Visual Studio 2017 + TACO. Webassembly генерируется из кода C/C++ с.
Я конвертирую приложение angular с помощью cordova в приложение android. Преобразованный файл apk появляется на эмуляторе. Но когда я устанавливаю его на реальное устройство и запускаю, он.
Я создаю простое приложение BLE, используя cordona/phonegap. Я использую BLE lock в качестве примера. Все прекрасно работает с `cordova serve': cordova может сканировать и получать доступ к.
Я использую Cordova и хочу отладить приложение на своем устройстве Android. Когда я подключаю устройство, я должен принять разрешение MTP - я так и сделал. Я также включил режим developer USB в.
Запускает ли он cordova build android , а затем устанавливает APK на устройство / эмулятор? Если нет, то что он делает на самом деле? Я попытался найти более подробную информацию на сайте.
Читайте также: