Обновление Android
Это руководство показывает, как изменить проекты Android для обновления с более старых версий Cordova. Большинство этих инструкций относятся к проектам, созданным с помощью более старого набора командных инструментов, предшествующих утилите командной строки cordova. См. Интерфейс командной строки для получения информации о том, как обновить версию командной строки.
Обновление до 7.X.X
Лучший способ обновить до 7.X.X — просто удалить платформу Android из вашего проекта и повторно добавить ее с новой версией. Например,
cordova platform remove android cordova platform add android@7.X.X
Если вы используете вышеуказанный метод, имейте в виду, что любые изменения, внесенные вами в папку платформы android, будут потеряны (редактирование содержимого этой папки не рекомендуется).
К сожалению, из-за обновления структуры файлов проекты, не использующие командную строку, необходимо обновлять вручную или создавать новый проект Cordova, и файлы необходимо перенести в новый проект. Это связано с миграцией в Android Studio.
Обновление до 6.X.X
Лучший способ обновить до 6.X.X — просто удалить платформу Android из вашего проекта и повторно добавить ее с новой версией. Например,
cordova platform remove android cordova platform add android@6.X.X
Если вы используете вышеуказанный метод, имейте в виду, что любые изменения, внесенные вами в папку платформы android, будут потеряны (редактирование содержимого этой папки не рекомендуется).
В качестве альтернативы, вы можете попробовать использовать скрипт обновления платформы. Для проектов, не использующих командную строку, выполните:
bin/update path/to/project
Обновление до 5.X.X
Лучший способ обновить до 5.X.X — просто удалить платформу Android из вашего проекта и повторно добавить ее с новой версией. Например,
cordova platform remove android cordova platform add android@5.X.X
Если вы используете вышеуказанный метод, имейте в виду, что любые изменения, внесенные вами в папку платформы android, будут потеряны (редактирование содержимого этой папки не рекомендуется).
В качестве альтернативы, вы можете попробовать использовать скрипт обновления платформы. Для проектов, не использующих командную строку, выполните:
bin/update path/to/project
Для проектов, использующих командную строку:
Обновите версию командной строки
cordova. См. Интерфейс командной строки.Выполните
cordova platform update android@5.0.0в существующих проектах.
Обновление плагинов для Android Marshmallow
Версия 5.0.0 добавляет поддержку уровня API Android 23 (Marshmallow). Android Marshmallow ввел новую модель разрешений, которая может потребовать обновления некоторых установленных плагинов для обеспечения совместимости с новыми телефонами. Более старые версии плагинов, которые не обрабатывают разрешения должным образом, могут привести к неожиданному зависанию вашего приложения. Обратите внимание, что это не затрагивает каждый плагин, а только те, которые обращаются к разрешениям Android, считающимся опасными (см. таблицу опасных разрешений).
Следующие основные плагины затронуты этим изменением и должны быть обновлены для использования с cordova-android 5.0.0+:
| Плагин | Минимальная совместимая версия |
|---|---|
| cordova-plugin-camera | 2.0.0 |
| cordova-plugin-contacts | 2.0.0 |
| cordova-plugin-file | 4.0.0 |
| cordova-plugin-geolocation | 2.0.0 |
| cordova-plugin-media | 2.0.0 |
Для плагинов, не относящихся к основным, вы можете проверить, запрашивает ли плагин опасное разрешение, проверив файл плагина plugin.xml. Если плагин использует разрешения Android, вы увидите записи в plugin.xml, которые объявляют их. Например:
<uses-permission android:name="android.permission.PERMISSION_NAME" />
Где PERMISSION_NAME заменяется именем разрешения Android. Файл plugin.xml можно найти в папке плагина в вашем проекте Cordova (например, plugins/example-plugin/plugin.xml). Обратитесь к документации любых плагинов, использующих опасные разрешения, чтобы определить шаги, которые необходимо предпринять для обеспечения совместимости с cordova-android 5.0.0+.
Обновление до 4.0.0
Для использования значительных изменений в 4.0.0 необходимы определенные шаги обновления. Сначала нужны общие шаги обновления, как показано ниже.
Для проектов, не использующих командную строку, выполните:
bin/update path/to/project
Для проектов, использующих командную строку:
Обновите версию командной строки
cordova. См. Интерфейс командной строки.Выполните
cordova platform update android@4.0.0в существующих проектах.
Обновление списка разрешенных ресурсов
Вся функциональность списка разрешенных ресурсов теперь реализована через плагин. Без плагина ваше приложение больше не защищено списком разрешенных ресурсов после обновления до 4.0.0. Cordova имеет два плагина списка разрешенных ресурсов, которые обеспечивают разные уровни защиты.
-
Плагин
cordova-plugin-whitelist(РЕКОМЕНДУЕТСЯ)- Этот плагин очень рекомендуется, так как он более безопасен и настраиваемый, чем список разрешенных ресурсов в предыдущих версиях
- См. cordova-plugin-whitelist для получения подробной информации об изменениях конфигурации, необходимых для обновления
- Выполните:
cordova plugin add cordova-plugin-crosswalk-webview
-
Плагин
cordova-plugin-legacy-whitelist- Этот плагин обеспечивает такое же поведение списка разрешенных ресурсов, как и в предыдущих версиях. См. cordova-plugin-legacy-whitelist
- Изменения конфигурации не требуются, но он обеспечивает меньшую защиту, чем рекомендуемый плагин
- Выполните:
cordova plugin add cordova-plugin-legacy-whitelist
Использование WebView Crosswalk
По умолчанию ваше приложение продолжит использовать системный WebView, предоставляемый устройством. Если вы хотите использовать вместо этого WebView Crosswalk, просто добавьте плагин Crosswalk:
cordova plugin add cordova-plugin-crosswalk-webview
После добавления плагина ваше приложение получит установленный и правильно настроенный WebView Crosswalk.
Обновление до плагина Splashscreen
Если ваше приложение использует экран загрузки, эта функциональность была перенесена в плагин. Опции конфигурации для экранов загрузки не изменились. Единственный шаг обновления заключается в добавлении плагина:
cordova plugin add cordova-plugin-splashscreen
Обновление до 3.7.1 с 3.6.0
Для проектов, не использующих командную строку, выполните:
bin/update path/to/project
Для проектов, использующих командную строку:
Обновите версию командной строки
cordova. См. Интерфейс командной строки.Выполните
cordova platform update androidв существующих проектах.
Обновление до 3.3.0 с 3.2.0
Следуйте тем же инструкциям, что и для 3.2.0.
Начиная с 3.3.0, среда выполнения Cordova теперь компилируется как библиотека Android, а не как Jar. Это не должно повлиять на использование командной строки, но пользователи IDE должны импортировать новый добавленный проект MyProject-CordovaLib в свою рабочую область.
Обновление до 3.2.0 с 3.1.0
Для проектов, созданных с помощью cordova CLI:
Обновите версию командной строки
cordova. См. Интерфейс командной строки.Выполните
cordova platform update android
Для проектов, не созданных с помощью cordova CLI, выполните:
bin/update <project_path>
ПРЕДУПРЕЖДЕНИЕ: На Android 4.4 - Android 4.4.3 создание элемента ввода файла с type="file" не откроет диалог выбора файла. Это регрессия с Chromium на Android, и проблема может быть воспроизведена в автономном браузере Chrome на Android (см. http://code.google.com/p/android/issues/detail?id=62220) Предлагаемое решение — использовать плагины FileTransfer и File для Android 4.4. Вы можете прослушивать событие onClick от input type="file" и затем отображать UI выбора файла. Для связи данных формы с загрузкой можно использовать JavaScript для добавления значений формы к запросу POST в формате multipart, который выполняет FileTransfer.
Обновление до 3.1.0 с 3.0.0
Для проектов, созданных с помощью cordova CLI:
Обновите версию командной строки
cordova. См. Интерфейс командной строки.Выполните
cordova platform update android
Для проектов, не созданных с помощью cordova CLI, выполните:
bin/update <project_path>
Обновление до командной строки (3.0.0) с 2.9.0
Создайте новый проект Apache Cordova 3.0.0 с помощью cordova CLI, как описано в Интерфейсе командной строки.
Добавьте свои платформы в проект cordova, например:
cordova platform add android.Скопируйте содержимое каталога вашего проекта
wwwв каталогwwwв корне проекта cordova, который вы только что создали.Скопируйте любые нативные ресурсы из старого проекта в соответствующие каталоги в
platforms/android: этот каталог содержит ваш нативный проект cordova-android.Используйте инструмент командной строки cordova CLI для установки необходимых плагинов. Обратите внимание, что CLI обрабатывает все основные API как плагины, поэтому их может потребоваться добавить. Только плагины 3.0.0 совместимы с CLI.
Обновление до 3.0.0 с 2.9.0
Создайте новый проект Apache Cordova Android.
Скопируйте содержимое каталога
wwwв новый проект.Скопируйте любые нативные ресурсы Android из каталога
resв новый проект.Скопируйте любые установленные плагины из подкаталогов
srcв новый проект.Убедитесь, что вы обновили все устаревшие ссылки
<plugin>из вашего старого файлаconfig.xmlна новую спецификацию<feature>.Обновите все ссылки на пакет
org.apache.cordova.apiна пакетorg.apache.cordova.
ПРИМЕЧАНИЕ: все основные API были удалены и должны быть установлены в качестве плагинов. Для получения подробной информации см. руководство по использованию Plugman для управления плагинами.
Обновление до 2.9.0 с 2.8.0
- Выполните
bin/update <project_path>.
Обновление до 2.8.0 с 2.7.0
Удалите
cordova-2.7.0.jarиз каталога проектаlibs.Добавьте
cordova-2.8.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
cordova.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova.js.Скопируйте файл
res/xml/config.xml, чтобы он соответствовал файлуframework/res/xml/config.xml.Обновите
framework/res/xml/config.xml, чтобы он имел аналогичные настройки, как и ранее.Скопируйте файлы из
bin/templates/cordovaв каталог проектаcordova.
Обновление до 2.7.0 с 2.6.0
Удалите
cordova-2.6.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.7.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.7.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.7.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Обновите
framework/res/xml/config.xml, чтобы настройки были похожи на предыдущие.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.6.0 с 2.5.0
Удалите
cordova-2.5.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.6.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.6.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.6.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Обновите
framework/res/xml/config.xml, чтобы настройки были похожи на предыдущие.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Запустите bin/update <project> с путем к проекту, указанным в каталоге исходных кодов Cordova.
Обновление до 2.5.0 с 2.4.0
Удалите
cordova-2.4.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.5.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.5.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.5.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Обновите
framework/res/xml/config.xml, чтобы настройки были похожи на предыдущие.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.4.0 с 2.3.0
Удалите
cordova-2.3.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.4.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.4.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.4.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.3.0 с 2.2.0
Удалите
cordova-2.2.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.3.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.3.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.3.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.2.0 с 2.1.0
Удалите
cordova-2.1.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.2.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.2.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.2.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.1.0 с 2.0.0
Удалите
cordova-2.0.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.1.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.1.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.1.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.Скопируйте файлы из
bin/templates/cordovaв каталогcordovaпроекта.
Обновление до 2.0.0 с 1.9.0
Удалите
cordova-1.9.0.jarиз каталогаlibsпроекта.Добавьте
cordova-2.0.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-2.0.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-2.0.0.js.Скопируйте
res/xml/config.xml, чтобы он соответствовалframework/res/xml/config.xml.
В релизе 2.0.0 файл config.xml объединяет и заменяет файлы cordova.xml и plugins.xml. Старые файлы устарели, и, хотя они всё ещё работают в 2.0.0, они перестанут работать в будущих выпусках.
Обновление до 1.9.0 с 1.8.1
Удалите
cordova-1.8.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.9.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.9.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.9.0.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Из-за введения CordovaWebView в релизе 1.9.0 плагины сторонних разработчиков могут не работать. Эти плагины должны получать контекст из CordovaInterface, используя getContext() или getActivity(). Если вы не являетесь опытным разработчиком Android, обратитесь к автору плагина и добавьте эту задачу в их систему отслеживания ошибок.
Обновление до 1.8.0 с 1.8.0
Удалите
cordova-1.8.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.8.1.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.8.1.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.8.1.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Обновление до 1.8.0 с 1.7.0
Удалите
cordova-1.7.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.8.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.8.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.8.0.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Обновление до 1.8.0 с 1.7.0
Удалите
cordova-1.7.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.8.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.8.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.8.0.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Обновление до 1.7.0 с 1.6.1
Удалите
cordova-1.6.1.jarиз каталогаlibsпроекта.Добавьте
cordova-1.7.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.7.0.jsв свой проект.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Обновление до 1.6.1 с 1.6.0
Удалите
cordova-1.6.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.6.1.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.6.1.jsв свой проект.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.
Обновление до 1.6.0 с 1.5.0
Удалите
cordova-1.5.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.6.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.6.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.6.0.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.Замените
res/xml/phonegap.xmlнаres/xml/cordova.xml, чтобы соответствоватьframework/res/xml/cordova.xml.
Обновление до 1.5.0 с 1.4.0
Удалите
phonegap-1.4.0.jarиз каталогаlibsпроекта.Добавьте
cordova-1.5.0.jarв каталогlibsпроекта.Если вы используете Eclipse, обновите свой проект Eclipse и выполните очистку.
Скопируйте новый
cordova-1.5.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
cordova-1.5.0.js.Обновите
res/xml/plugins.xml, чтобы он соответствовалframework/res/xml/plugins.xml.Замените
res/xml/phonegap.xmlнаres/xml/cordova.xml, чтобы соответствоватьframework/res/xml/cordova.xml.
Обновление до 1.4.0 с 1.3.0
Удалите
phonegap-1.3.0.jarиз каталога проектаlibs.Добавьте
phonegap-1.4.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
phonegap-1.4.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
phonegap-1.4.0.js.Обновите
res/xml/plugins.xml, чтобы соответствоватьframework/res/xml/plugins.xml.Обновите
res/xml/phonegap.xml, чтобы соответствоватьframework/res/xml/phonegap.xml.
Обновление до 1.3.0 с 1.2.0
Удалите
phonegap-1.2.0.jarиз каталога проектаlibs.Добавьте
phonegap-1.3.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
phonegap-1.3.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
phonegap-1.2.0.js.Обновите
res/xml/plugins.xml, чтобы соответствоватьframework/res/xml/plugins.xml.Обновите
res/xml/phonegap.xml, чтобы соответствоватьframework/res/xml/phonegap.xml.
Обновление до 1.2.0 с 1.1.0
Удалите
phonegap-1.1.0.jarиз каталога проектаlibs.Добавьте
phonegap-1.2.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
phonegap-1.2.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
phonegap-1.2.0.js.Обновите
res/xml/plugins.xml, чтобы соответствоватьframework/res/xml/plugins.xml.Обновите
res/xml/phonegap.xml, чтобы соответствоватьframework/res/xml/phonegap.xml.
Обновление до 1.1.0 с 1.0.0
Удалите
phonegap-1.0.0.jarиз каталога проектаlibs.Добавьте
phonegap-1.1.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
phonegap-1.1.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
phonegap-1.1.0.js.Обновите
res/xml/plugins.xml, чтобы соответствоватьframework/res/xml/plugins.xml.
Обновление до 1.0.0 с 0.9.6
Удалите
phonegap-0.9.6.jarиз каталога проектаlibs.Добавьте
phonegap-1.0.0.jarв каталог проектаlibs.Если вы используете Eclipse, обновите проект Eclipse и выполните очистку.
Скопируйте новый
phonegap-1.0.0.jsв свой проект.Обновите свой HTML, чтобы использовать новый файл
phonegap-1.0.0.js.Добавьте
res/xml/plugins.xml, чтобы соответствоватьframework/res/xml/plugins.xml.
© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/9.x/guide/platforms/android/upgrade.html